看板Programming
标 题Re: [问题] winsock的问题
发信站梦之大地 (Wed Sep 13 07:28:47 2006)
转信站ptt!ctu-reader!Spring!news.nctu!news.nsysu!news.mksh.phc!news.ccns.nck
※ 引述《[email protected] (NEW)》之铭言:
> 最近用winsock模拟P2P档案传输的功能
> socket用block模式
> 发送端开thread
> 作fread 然後send
> 接收端也开thread
> 作recv 然後fwrite
> 发现recv接收到的packet内容常常是无效的
> 也就是和发送端丢出的内容不一致
> 导致程式错误
> 後来想说在send和recv之前用Sleep来作delay
> 情况改善很多
> 但是如果同时传多个档案
> 有时recv收到的packet还是会发生错误
> 请问这是什麽缘故?
如果是自己要处理 packet 的话,在单一 thread 下要传多个档案
你需要自己再包一层,来分别不同的档案
如果只是要传档案,可以参考 FTP 来写,除非你有其它的需求
可以详述一下你说的无效封包是什麽样的? 长度不合? 编码错误?
--
◢◣ ︵︵ █▔◣ █▔█ █▔▔ █▔█ █▆▉ █ █▔█ █◣█ █▔●
◢◤█◣◢◣ ︵︵ █ █ █▁◤ █▁▁ █▁█ ▉▉▉ █ █▁█ █◥█ █ █
梦之大地 逼逼ㄟ四 █▁◤ █ █ █▁▁ █ █ ▉▉▉ █▁ █ █ █ █ █▁◤
※ Origin: <bbs.ccns.ncku.edu.tw> ◆ From: 218.168.202.93