Winsock recv 循环无法正常工作

Winsock recv loop not functioning correctly

本文关键字:工作 常工作 recv 循环 Winsock      更新时间:2023-10-16

出于某种原因,当我使用 Putty 连接到我的 C++ 服务器时,我得到了这个

Recv: (string I typed)
Recv:

每次我使用 Putty 将角色发送到我的服务器时都会发生这种情况

来源如下。 如果不确定,我将发布我的其余来源。蒂亚-罗兰

    void recvthread( void *pParams )    {
        char buffer[128]
        int err;
        bool gonow = true;
        while( true )   {
           memset( buffer, '', 128 );

           err = -1;
           err = recv( datasock, buffer, 128, 0 );

            if( err != -1 ) {
              std::cout << "Recv: " << buffer << 'n';
              std::cout << "Err = " << err << 'n';
           }
        Sleep(10);
    }
}

我明白这个:

Recv: (string I typed)
Recv:

您将获得键入的字符串以及上次缓冲区中剩余的任何其他内容。如果err为正数,则为实际接收的字节数。如果为零,则表示对等方已断开连接,您应该停止读取。不要忽略这些值。