Winsock recv循环无法正常运行

时间:2012-12-07 20:32:19

标签: c++ sockets networking winsock

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

Recv: (string I typed)
Recv:

每次我使用Putty

将字符发送到我的服务器时都会发生这种情况

来源如下。如果是必要的话,我会发布剩下的来源。 TYIA -Roland

    void recvthread( void *pParams )    {

        char buffer[128]

        int err;
        bool gonow = true;

        while( true )   {

           memset( buffer, '\0', 128 );


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


            if( err != -1 ) {

              std::cout << "Recv: " << buffer << '\n';
              std::cout << "Err = " << err << '\n';
           }

        Sleep(10);
    }
}

1 个答案:

答案 0 :(得分:4)

  

我明白了:

Recv: (string I typed)
Recv:

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