我写的TCP传文件的程序,就是和孙鑫的那种方式一样的。unsigned char *buffer;
发送的buffer只能在1024,加到2048的时候,前面几次是可以的,但是到后面的时候就发送失败了。没有固定的位置。
1024就不会丢包。发送间隔 Sleep(200);
休息200的时候OK,时间换50或100就会失败。
同样是前面几次是OK的,然后后面的就失败了。这个问题好郁闷。大家发送的时候都把大小设多大啊?
我要是发个1M的文件,那我头发不都等白了啊!
那要是来个100MB的文件,那就。。
发送的buffer只能在1024,加到2048的时候,前面几次是可以的,但是到后面的时候就发送失败了。没有固定的位置。
1024就不会丢包。发送间隔 Sleep(200);
休息200的时候OK,时间换50或100就会失败。
同样是前面几次是OK的,然后后面的就失败了。这个问题好郁闷。大家发送的时候都把大小设多大啊?
我要是发个1M的文件,那我头发不都等白了啊!
那要是来个100MB的文件,那就。。
解决方案 »
- 关于取LPCWSTR指针实际值的问题,请教
- ATL子窗口向父窗口发送消息收不到
- 属性页上字体为宋体9号时程序发生的异常
- dll注入返回指针 可以访问注入进程的内存吗?
- 各位大哥有没有做MyGina.dll,小弟有点问题想请教!
- !如何将.txt文件写入Access数据库,急!
- 请大虾指点,怎么把MP3转换成CD格式?
- SnmpExtensionQuery函数参数的含义
- matlab图形中的汉字在对话框的Static text控件中显示为“?”
- c++多文件结构的头文件问题
- Win32 API和库函数中,线程安全的有哪些,不安全的有哪些?各有什么特点,如何归类?
- 关于实例化一个ActiveX插件
你用的什么模型?还有TCP最大的传输单元是固定的.
你想发送几M的数据,最好自己拆包组包~
孙鑫的有BUG,那用什么样的啊?
sleep(200)也很正常, 关键是为什么发送失败, 原因我都给你说了。
循环发送.
至于buffer size,我估计你 也没明白tcp是不关心buffer size的,你一次send后,有没有检查到底发送了多少字节?是不是一次发送就以为1024字节全出去了?知道send返回值和recv返回值啥意思么?