社区
网络编程
帖子详情
急,求助!在线等!使用完成端口,WSARecv收到的数据永远都是固定长度?
rabolee
2006-04-17 03:55:56
我投递进去的的BUF大小是8192
结果收到的永远是8192长,比如我客户端只发了1个字节过来,我收到的长度还是8192,只不过后面的8191都被填成0了。
这样的话,我发大文件的时候,就出现了很多0在中间,我才学习完成端口,不是很懂,求助!
...全文
174
3
打赏
收藏
急,求助!在线等!使用完成端口,WSARecv收到的数据永远都是固定长度?
我投递进去的的BUF大小是8192 结果收到的永远是8192长,比如我客户端只发了1个字节过来,我收到的长度还是8192,只不过后面的8191都被填成0了。 这样的话,我发大文件的时候,就出现了很多0在中间,我才学习完成端口,不是很懂,求助!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rabolee
2006-04-17
打赏
举报
回复
OK,搞定, 谢谢,就是那第二个参数,我取的是lpCompletionKey里面的len...
wanglei051
2006-04-17
打赏
举报
回复
你是用什么判断长短的?不会是用sizeof吧?建议你一次不要收那么长的数据,1次收100,然后连接到一起
gohappy_1999
2006-04-17
打赏
举报
回复
WSARecv收到的数据永远都是固定长度?
--------------------------------
不是的.取决于实际收到的数据长度。
BOOL GetQueuedCompletionStatus(
HANDLE CompletionPort,
LPDWORD lpNumberOfBytes,
PULONG_PTR lpCompletionKey,
LPOVERLAPPED* lpOverlapped,
DWORD dwMilliseconds
);
第二个参数是实际传输的字节数
IOCP--
完成
端口
本文详细介绍了IOCP(I/O Completion Port)的工作原理、角色分配、如何控制字节数与超时、资源耗尽问题的解决办法,以及如何优雅地管理线程。特别关注了异步读写操作中的细节,包括如何处理大量连接和
数据
传输,以及如何在并发环境中高效利用资源。
IOCP完全开发经验总结(二):几个重要问题分析(下)
本文介绍了如何在IOCP工作线程中发送自定义消息,包括
使用
PostQueuedCompletionStatus投递
数据
、处理
WSA
Recv
事件,以及如何优雅地关闭IOCP,涉及工作线程退出策略、
数据
处理和资源释放。
学习笔记:神秘的 IOCP
完成
端口
本文详细解析了IOCP的工作原理,包括角色分工、资源管理、超时与错误处理等内容,并探讨了如何优雅地控制线程及高效处理大量
数据
。
关于Winsock:Winsock编程注意事项:分散/收集I / O
本文探讨了
WSA
Recv
、
WSA
Send等网络函数如何支持分散/聚集I/O,允许在网络传输中处理非连续的缓冲区,特别适用于包含
固定
长度
头部的消息。在发送和接收过程中,这些函数能够自动处理头部和消息体的分离,无需应用程序额外操作。
分散/聚集方式I/O
本文深入探讨了
WSA
Send()、
WSA
SendTo()、
WSA
Recv
()和
WSA
Recv
From()函数如何在应用程序缓冲区数组的支持下实现分散/聚集方式的I/O操作,特别关注于在发送和接收过程中头信息的处理及分离。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章