RT ,同步的TCP通讯比如返回一个50,是否表示50个字节的数据确实发到了SOCKET缓冲区还是确实发到了对方计算机.

解决方案 »

  1.   

    当然不是,表示TCP驱动已经确认你提交的50字节数据到发送窗口,这是个完全异步的过程,发送窗口数据的发送由TCP驱动控制输出到更低层的设备驱动比如网卡
      

  2.   


    我做了一个测试,当代码运行到SEND函数时,我关掉服务端程序,接着继续运行SEND函数,此时马上返回-1,不知道这个现象该怎么解释
      

  3.   

    关掉服务器系统而不是用closesocket断开连接,程序退出时系统会检查到还有未关闭的socket,这时会对每个socket发出reset报文,对方接收到reset后知道连接已不可用,send返回-1
      

  4.   

    是的。返回值就是实际发出去的数据。这是由CSocket的特点决定的。
      

  5.   

    返回值就是实际发出去的数据。 返回-1是因为服务器关闭后 TCP连接断开,此时你send当然会出错