我在驱动中做了个TDI网络连接,用的是本网站的[虚拟串口2005版本]里面带的例程作的。现在有个问题是,用TCP方式连接上接收发送数据都OK.但是一旦其中一方掉电,或是强行拔掉网线,发送数据就会很长时间才能反映,我测试了一下,最短3秒中。而且在拔掉网线后释放网络,会有很长的延时。...
全文
回复(11) 2007-08-16 11:49 来自版块 - ABC初学者
表情
lanyu826先按照你说的试试,有了结果在发上来(2007-08-27 15:20)
yonghen21我已经用超级终端测试过了 超级终端发送数据是有固定协议的,所以我测试的时候两端都用的是超级终端 接收端也需要手动点击接收。我觉得速度蛮快的,没有什么问题。 还有,再用超级终端的选择串口的时候要把数据流选成无。(2007-08-27 11:16)
yonghen21你那里加发送接收超时处理了么?超级终端的处理数据方法好像不太一样。明天我到单位在测试测试! 我做的那个驱动是参照虚拟串口2005做的,整个框架都不同了。(2007-08-24 21:46)
lanyu826奇怪,我也是用虚拟串口2005版本改的,里面加了TDI发送TCP的部分,串口工具都试了,正常,但是唯独用超级终端的传送--->发送文本文件,发现发的很慢,没次发出一个包后需要等待大约0.2秒的时间才发下一个包,不知道为什么,郁闷,不过我的最小化就没有问题(2007-08-24 11:35)
yonghen21如果发送完成,很快就有返回了。就是说,正常的网络传输不会太长,一般100个毫秒能发送n百个字节了。超时定时器的作用是,如果在指定时间内没有返回,则用定时器进行IRP返回,在线程里判断一下IRP是否为空就OK了。回头我把相关的代码传上来。 那些串口测试工具都测试过了,没有问题。 ...(2007-08-23 21:40)
boywhp呵呵,我刚打算入行啊,可能也会做网络一块,顶下(2007-08-22 15:00)
lanyu826上面写错了,是选择传送--->发送文本文件 还有一个问题:“如果发送数很快就结束了,就把定时器取消并把IRP进行返回” 怎么判断数据是不是很快就结束了?(2007-08-22 13:24)
lanyu826你有没有测试过超级终端,选择发送--->传送--->发送文本文件,如果用TCP方式在网络正常的情况下传送速度快么?(2007-08-22 13:18)
yonghen21唉~~~~没人给解决。自己解决了。 共享一下方法。 TDI连接和断开有超时时间,就不再熬述了。 如果在发送数据或接收数据的时候突然掉网, 这时会有很长的延时,在提问的时候我已经说过了。 解决的方法如下: 创建一个发送数据的线程,再创建一个定时器。用异步IRP. 线程发送数据以前把...(2007-08-21 15:49)
yonghen21自己顶一下 谁来帮帮忙给解决一下俺的问题呀!!!! (2007-08-17 15:24)

返回顶部