# 我已试出答案 不过还是谢谢你的经验

Posted by OGS on October 22, 1998 at 23:55:29:

In Reply to: Re: 请WinSock-UDP高手帮忙 posted by Maxwell on October 19, 1998 at 18:50:09:

: : 多部Window NT 6.0(sp3)定期以UDP watch dog message互传作为存活互测信息
: : 系统运跑一小时或一天之后就有几部其UDP接收端收不到任何信息
: : 若将这几部电脑其程式重新启动运跑则又回复到开始可接收系统上其他电脑之存活信息状态
: : 请教各方高手 是软体 或 硬体何者出了问题

: UDP 本身并不建立真正的连线, 因此也并不保证廖传输的稳定性, 跑一跑收不到讯息是正常的, 不信的话可以试试一台电脑送 1 跑到 10000, 另一台电脑则接收 1 到 10000, 看看漏掉几个...
: 以前我写一套使用 UDP 传输的软体, 采用广播的方式广播自己的位址, 五台电脑只有一台有收到对方的位址...
: 强烈建议采用 TCP 方式, 另加一台 Server 作管理

UDP虽无真正的连线, 但是在CRC查核下 前几个小时依然可正确每秒收到全部的150个信息包封
每个信息包封约40 BYTE
但一发生断线后就永不再收到信息,
其传送功能似是永保正常

最近几天我们尝试作二种reStart方法

第一种是增加处理GetData的error event 但没成功
第二种是定期内需收到信息之time out方法
第二种成功了 但会造成几秒空窗期

又 在UDP close后再 bind之间须加上time delay
但无法以是否 close 作为 do while loop 条件
原因不明

你所提之TCP及server 亦须以定期内需收到信息之time out方法来 disconnect
不然任何 client 端的 abnormal exit
会造成 server 端须人工重新 restart

Follow Ups: