[已解决]AutoIT自带TCP功能是不是稳定性不好?
本帖最后由 曼菲士 于 2011-6-11 16:51 编辑AUTOIT自带TCP命令TCPListen、TCPConnect之类的。
最近用AU3自带TCP命令写了个TCP程序,主要是数据库数据传输,服务端运行后,客户端启动时会向服务端申请数据,每次传送不会超过256字节,服务端向客户端发送16条数据,每次发一条,直到发完会发送完成指令给客户端,客户端就转入正常待命状态,测试中发送的指令都是英文,绝对没有中文,在平时测试中基本正常,十几次客户端启动测试中偶尔会出现几次发送的完成命令收不到,客户端一直处在接收状态,猜测是服务器发来的“数据发送完成”指令客户端没收到,当我打开迅雷下载BT电影时,问题更明显化了,每次都会出现16条数据传送有1-2条数据丢失的情况,十几次打开客户端测试接收数据只有一次是完整收到16次数据,其它时候都在14-15条数据。
根据以上测试结果,是不是AutoIT自带的TCP命令提供的功能不稳定?我没有用论坛里的TCP.AU3UDF,用的是纯粹自带命令,还请各位高手指点一二。 au3自带的TCP函数,MS非常稳定的说,从没碰到过楼主所说的情况。
TCP UDF里面的,倒是问题多多。 本帖最后由 曼菲士 于 2011-6-11 15:54 编辑
TCPSEND发送的数据,在S和C都正常通讯的情况下(无防火墙),绝对能收到?
原来我都不做收到判断,总会少收数据,现在做了收到回复,若没有回复则重发数据才稳定得多。
是不是在循环发送数据时,应该加一个延迟?例如
for $i = 0 to UBound($data) -1
TCPSend($sSocket, $sData)
sleep(3)
next 哦,我怀疑是循环时,各种地方都有粘包了?若是,可以试着去百度一下TCP粘包。 噢,上次写的一个TCP程序也有这样的问题,我怎么会忘了,非常感谢版主提醒,我找找资料看怎么解决先。 路过。。。 驱动智能选择v2.2 Final驱动智能选择v2.2 Final 学习一下,TCP在AU中 稳定性怎么样呢 太深了看不懂 可能是版本的问题,我自己也有一个TCP通讯的程序,3.3.9.21版本运行完全正常,升级到3.3.13.X版本,客户机可以发消息到服务器,可是服务器回复信息,客户机老是收不到。研究了老半天才发现是因为自己没事升级AU3版本之后造成的。 太深了看不懂
页:
[1]