我使用完成端口处理客户端接收数据得时候,只接收不发送,一切数据都是正常得。
但是,当我加入发送得功能得时候,这时如果接收得缓冲区小于发送文件得长度,我接收得数据就是不正常得(乱吗,但是接收得数据长度是正确得),不知你们有没有碰到这种情况?struct ClientContext
{ CRITICAL_SECTION SockCritSec;
SOCKET m_Socket; char m_strAddr[20];
// Store buffers
CBuffer m_ReadBuffer;
CBuffer m_WriteBuffer; // Input Elements for Winsock
WSABUF m_wsaInBuffer;
BYTE m_byInBuffer[4194304 // Output elements for Winsock
WSABUF m_wsaOutBuffer;
BYTE m_byOutBuffer[64]; HANDLE m_hWriteComplete;
ClientContext* m_pWriteContext;
ClientContext* m_pReadContext;};
这是我定义得用于代表连接节点得数据体
但是,当我加入发送得功能得时候,这时如果接收得缓冲区小于发送文件得长度,我接收得数据就是不正常得(乱吗,但是接收得数据长度是正确得),不知你们有没有碰到这种情况?struct ClientContext
{ CRITICAL_SECTION SockCritSec;
SOCKET m_Socket; char m_strAddr[20];
// Store buffers
CBuffer m_ReadBuffer;
CBuffer m_WriteBuffer; // Input Elements for Winsock
WSABUF m_wsaInBuffer;
BYTE m_byInBuffer[4194304 // Output elements for Winsock
WSABUF m_wsaOutBuffer;
BYTE m_byOutBuffer[64]; HANDLE m_hWriteComplete;
ClientContext* m_pWriteContext;
ClientContext* m_pReadContext;};
这是我定义得用于代表连接节点得数据体
解决方案 »
- WebBrowser不能正常显示
- USB驱动开发 plugIN/Out处理 和 电源处理的问题
- 是不是要求客户的机器也得安装SQL server 2005,并且配置好这个数据库?
- sdk中获取按钮文字,点击在2个设定了的文字中切换,怎么获取然后转换呢
- 请问一下ATL插件怎么传参数给网页,让网页显示在页面上?
- 收到ayanamiwww(绫波) 的代码,酬谢200分.(一)
- 请问一个CString的怪问题
- 字体枚举的时候为什么程序不能进入回调函数?(vc++6.0)
- TH文字游戏编辑器1.0版本
- VC的Bug? ComboBox为什么不显示内容?
- 录音出现的问题.请高手帮忙,高分相送
- 动态链接库的使用
lifengice0706(无)我在发送和接收之前先要获得这个锁CRITICAL_SECTION SockCritSec;
诚如goodboyws(深夜不眠者)所说:我得接收顺序产生了数据覆盖,所以会出现错误!谢谢你们得帮助