关于完成端口进行SOCKET传送接受文件
马天翼 2012-03-01 07:12:38 我用完成端口进行SOCKET传送接收文件时
传送文件用的就是普通的socket的SEND,不停地从文件中读取并且发包
接受端用的是完成端口,过程也是接收包后就写入文件
遇到下列问题:
1。当我在接收文件时,每接一个包就来个SLEEP(1)时,接受的文件大小和传送的文件大小一样大,但是如果接收时不加SLEEP,那么接受的文件大小最后远大于传送的文件
2。当我收文件时,收到的第一个包总是空的,我想知道GetQueuedCompletionStatus到底什么时候返回,怎么没收到数据就返回了。
3。当我在接收文件时,每接一个包就来个SLEEP(1)时,文件大小虽然没问题,但是当收的文件非常大的时候,文件会很乱。有什么办法解决。
4。另外如果我想实现一发多收和一收多发,应该怎么办?
这个完成端口我弄挺长时间了,自己实在是解决不了了,希望大家帮帮,虽然我没有分,谢谢大家了。