IO完成端口 如何用WSASend一次发送多个数据包

princesshan 2012-12-25 11:05:49
IO完成端口 如何用WSASend一次发送多个数据包
例如,希望发送10个 1k 的数据包,是需要调用10次WSASend吗?还是只需要调用一次就可以了?
最好给一些示例代码,谢谢。
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumaojun 2012-12-25
  • 打赏
  • 举报
回复
不一定是调用10次,因为你想发生的数据和实际发送的数据的数目不一定一致
princesshan 2012-12-25
  • 打赏
  • 举报
回复
楼上的,好像不行,收到不到数据。 我在msn上找了个例子,也不行。 我在网上找了一个例子 http://wenku.baidu.com/view/72f4b71055270722192ef7fc.html 是用io完成端口传输文件的。 如果我不需要传输文件,每次接受到客户端的请求命令,假如为“aa”,然后 就向客户端回传 10个大小为1k的数据包,应该怎么修改?
yaozhiyong110 2012-12-25
  • 打赏
  • 举报
回复
int WSASend (   SOCKET s,   LPWSABUF lpBuffers   DWORD dwBufferCount,   LPDWORD lpNumberOfBytesSent,   DWORD dwFlags,   LPWSAOVERLAPPED lpOverlapped,   LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine   ); 你可以吧10个包拼一个WSABUF一次发 也可以建一个WSABUF[10]数组 lpBuffers传数组首地址 dwBufferCount 传10 这样也只要调用一次WSASend 你还可以一次只发一个包 调用10次WSASend
princesshan 2012-12-25
  • 打赏
  • 举报
回复
谁能给个io完成端口的例子,收到客户端的链接后,发送数据时,有时候需要连着发送多个,因为数据比较大。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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