客户端突然间断开(比如死机或者拔掉网线),服务器端如何判断与之对应 的tcp连接已经断开(即判断server中一个socket文件描述符是无效的), 可以不实时的检测到,只要我去测试时能发现就行了? 我开始时想用非阻塞方式read这个连接,但是read的话,只要没有数据可读, 就返回-1,所以没法判断。 测试时,不能影响客户端,即不能往客户端写没用的数据。
by advCorydon - C/C++ - 2005-11-21 18:26:43 阅读(9577) 回复(18)
1简介 随着功能日益强大的计算机进入人们家庭,扩展这些计算机的功能使之与Internet 连接成为日益迫切的要求。不幸的是,这个扩展在链路层帧(linklevelframing)、地址 分配(addressassignment)、路由选择、认证以及性能等方面暴露出很多很复杂的问题。 在写本文档时所有这些领域的工作还在进行。本文档描述一种方法,这种方法已经被用 来提高低速(300-900bps)串行链路上的 tcp /IP的性能。 这里推荐的压缩方法与Thinwire-II 协...
在tcp的常连接中,如果链路中长时间的没有数据,则tcp链路会自动断掉吗?这就是在系统应用层上增加回响测试报文以维持链路激活的原因吗(echo test)? [ 本帖最后由 jdjkxsl 于 2009-6-1 12:10 编辑 ]
FreeBSD 5.4-RELEASE-p8,启用了 ipfw,出现了如下现象 1、FIN_WAIT_2 和 LAST_ACK 成对出现(这个问题已解决了,但是解决的方式很奇特,描述见后) 2、FIN_WAIT_1 等待了近6小时才回收(Send-Q 中有数据,Recv-Q中 0字节,apache) 3、FIN_WAIT_2 一直在等待(发送和接收队列中数据长度均为0字节,apache) 系统相关参数: net.inet.ip.fw.dyn_keepalive=1 net.inet.tcp.msl=3000 apache 的 keepalive 启用的: KeepAlive On 问...
tcp/IP学习笔记-理解tcp(建链断链) 对于tcp/IP一书中tcp部分,我认为关键要掌握3点 1.建链和拆链过程 http://bbs.c114.net/viewthread.php?tid=332819 2.数据交互规则 http://bbs.c114.net/viewthread.php?tid=332827 3.流量控制原则 http://bbs.c114.net/viewthread.php?tid=332828 针对这几点,我进行了简要概括,希望有助于初学者理解 建链和拆链过程 tcp的建链过程是经典的3次握手,主要做得事情就是互相知会下本端最大能接...
各位老大: 您好! 向您请教一个问题,我在tcp编程的时候先建立socket并connect后,向服务端发送数据,如果在发送的过程中,服务端物理连接断掉(拔掉网线)后,客户端并不知道服务端连接处问题了,还在向服务端发送数据(每个数据包都很小),并且在75秒超时后也不会提示错误,网上说一定要到发送缓冲区满后才能报错,我传递的是账单,不能丢,这个问题该怎样办?有没有发送(write或send)函数在对端ack返回以后函数再返回...