0
我正在使用一個C++項目,其中兩個進程(運行在同一臺機器上)通過TCP使用WinSock進行通信。進程'A'加載了幾個必須由進程'B'使用的Dll。使用Winsock發送/接收HMODULE
但是,我很難理解如何在這種情況下使用send/recv方法來發送和接收HMODULE。可能嗎?如果是這樣,那麼正確的方法是什麼。 (我蜂嘗試一些如下圖):
方法A:
HMODULE hmod = LoadLibrary(L"MathFunc.dll");
iResult = send(Socket, (char*)hmod, sizeof(HMODULE), 0);
流程B:
typedef double (* addFunc)(double, double);
int __cdecl main(void)
{
...
HMODULE receiver;
iResult = recv(ClientSocket, (char*)&receiver, sizeof(HMODULE), 0);
addFunc adder = (addFunc)GetProcAddress(receiver, "Add");
double resi = adder(1.0, 2.0);
...
return 0;
}
感謝。