找回密码
 加入
搜索
查看: 2596|回复: 4

[网络通信] 局域网批量传输文件的过程中TCPAccept阻塞是什么原因?

[复制链接]
发表于 2011-9-5 18:46:27 | 显示全部楼层 |阅读模式
简单接收代码(批量接收时较复杂一些):
TCPStartup()  ; 开始 TCP 服务
$IP = @IPAddress1 ;IP
$MainSocket = TCPListen($IP, 65432)
While 1
        Sleep(10)
        $Indextext = TCPAccept($MainSocket)
        $recv  = TCPRecv($Indextext, 1024 * 1024)
        If $recv  <> "" Then
           ;写文件
        EndIf       
WEnd       

测试发现,在批量接收时个别文件在接收过程中出现阻塞,是端口堵塞?此时$Indextext=-1,$recv 为空        (发送端仍在不断发送数据).若重启TCP服务:TCPShutdown ( ),TCPStartup ( )
则又可以成功接收数据,但会丢失重启过程中的部分数据。阻塞是什么原因?如何解决阻塞问题,使文件完整接收呢?
发表于 2011-9-5 22:16:06 | 显示全部楼层
论坛有相关的例子,你搜索一下看看!
 楼主| 发表于 2011-9-5 22:25:58 | 显示全部楼层
回复 2# hzxymkb


    搜索不到啊。。。
发表于 2011-9-5 23:03:11 | 显示全部楼层
^_^,试试用异步Socket~
 楼主| 发表于 2011-9-6 08:01:00 | 显示全部楼层
回复 4# republican


    不懂啊,能介绍一下吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 06:56 , Processed in 0.081934 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表