解决方案 »
- 关于PRINTF的问题请教
- 为什么使用memset初始化后仍然有野值??
- sql语句出错时会导致程序出错,如何获得提示?
- 如何修改注册表的信息,修改本机的ip地址?利用程序实现?
- 执行CRecordset::AddNew()之后增加的记录是在记录库的哪个位置??
- 请指教吧!
- EDIT控件定义为整型时,怎样去掉运行时系统自动初赋的值0
- 50分送!一个LPtoDP的小问题!
- 请高手指导有关位图的数据区的移位操作。
- 错误:ABC.obj : error LNK2001: unresolved external symbol _lineInitializeExA@28,lineInitializeEx是API函数名!紧急求救高手,高手你在吗?
- 帮我看看为啥写run注册表失败
- CArray的InsertAt函数的调用问题
接收端收到数据时,也可能你覆盖
还是应该从自己应用的一层来找问题
TCP缓冲区确实不会有被覆盖问题。你自己写文件是否有覆盖行为出现,可以检查检查
你用writefile发送时会不会有问题
哪一个包损坏了或者缺了,重新请求再发一次.
(我猜测是因为TCP内核缓冲区是一个循环数组,当程序读取缓冲区里面的数据读到末尾时,即使数据没有达到指定的count个字节也会立即返回,而不是越过尾部,从头部接着读够count个字节再返回,不知道我这个猜测对不对?)我服务器端用的是read(socketfd,buffer,readbytes)来读取,后来改成recv(socketfd,buffer,readcounts,MSG_WAITALL)就没问题了,因为后者能够保证程序一直阻塞,直到缓冲区读取到的字节数够readcounts时才返回,数据量正好是我的一个结构体的size
=================================================================================
换衣大家提提意见
看看windows 网络编程技术,可以找到LZ问题的解决方法。很easy!
呵呵,我在linux下的,不过原理都一样