C ++网络 - recv无法正常工作

时间:2014-10-05 13:52:46

标签: c++ sockets tcp winsock

好的,我正在编写一个连接到服务器的软件,发送一些信息,然后用bool响应。我的问题是没有任何东西通过recv传递给我的变种。我使用的是winsockx标头,它是为{Xbox 360>设计的winsock版本。它的工作方式与winsock相同。这是我正在使用的代码......

VOID Auth()
{
    ConnectSocket = INVALID_SOCKET;
    while (ConnectSocket == INVALID_SOCKET)
        ConnectSocket = ConnectTo(Server, 9001);
    ServerRequest.Version = 1;
    ServerRequest.Key = 9001;
    ServerRequest.Req = 1;
    send(ConnectSocket, (PCHAR)&ServerRequest, 0xC, 0);
    BYTE CPUKey[0x10];
    UINT64 addr = 0x8000000000000000ULL | ((DWORD)MmGetPhysicalAddress(CPUKey) & 0xFFFFFFFF);
    HvxGetVersions( 0x72627472, 5, 0x20, addr, 0x10 );
    send(ConnectSocket, (PCHAR)CPUKey, 0x10, NULL);
    Sleep(500);
    BYTE* recvPacket = (BYTE*)malloc(0x4);
    recv(ConnectSocket, (PCHAR)recvPacket, 0x4, NULL);
    Authed = *(BOOL*)recvPacket;
    Disconnect();
}

我知道ConnectTo方法有效,因为我有朋友使用它而send有效,因为客户端确实向服务器报告,唯一不起作用的是{{1} }。

为了测试服务器实际上是在发送数据,我在C#中制作了一个挑战欺骗者,它确实从服务器接收数据。

0 个答案:

没有答案