TCP 是面向连接的 , 在实际应用中通常都需要检测对端是否还处于连接中.如果已断开连接,主要分为以下几种情况: 1.连接的对端正常关闭,即使用 closesocket 关闭连接. 2.连接的对端非正常关闭,包括对端异常关闭,网络断开等情况. 对于第一种情况,很好判断,但是对于第二种情况,可能会要麻烦一些.在网上找到了一些文章,大致有以下两种解决方法: 自己编写心跳包程序 简单的说也就是在自己的程序中加入一条线程,定时向对端发送数据包,查看是否有 ACK ,如果有则连接正常,没有的话则连接断开.