完成端口里接收结构的问题

ppyy 2004-04-17 12:11:44
完成端口接收一个结构,,,如果这个结构在一次WSARecv中收完了当然完事大吉,什么都不用管,,但是如果这个结构一次没收完,怎样才能判断出有没有收完?因为这个结构是变长的,长度就放在结构的第一个成员里,要先得到这个成员的值,然后再和GetQueueCompletionStatus中返回的实际接收字节数对比才能知道有没有收完,,,头痛啊,,,,

如果是定长的就好办了,,,高手救命。。。
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
borlandpan 2004-05-07
  • 打赏
  • 举报
回复
你应该该结构体换成一个BYTE流(或者叫一个包),然后将这个流发送去,另外一端完整的收到这个流之后,再将这个流恢复成结构体。
-----
我用的SERLIZE方法,成功地解决了任意变长结构的收,发
flashboy 2004-04-19
  • 打赏
  • 举报
回复
这个是必须的,首先必须先接收包头,包头里含有包体的长度,然后再判断接收是否完成
xstring 2004-04-17
  • 打赏
  • 举报
回复
你应该该结构体换成一个BYTE流(或者叫一个包),然后将这个流发送去,另外一端完整的收到这个流之后,再将这个流恢复成结构体。

tyong 2004-04-17
  • 打赏
  • 举报
回复
你说说你是怎么接收的呀
itmaster 2004-04-17
  • 打赏
  • 举报
回复
放一个请求包里头,第一个元素为windows用的io请求包
在一次iorequest中就是对连续块的请求,对于scattered_io可能就是多次调用
w_schedule从而集合多个iorequest放在wtran[]吧
starcbh 2004-04-17
  • 打赏
  • 举报
回复
…………

放一个请求包里头,第一个元素为windows用的io请求包

直接cast就可以了,如

struct IORequest
{
overloped _overl;
int bytes;
....
};

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧