【请教】完成例程模型下的推送问题

tiger波波 2016-10-10 07:53:48
大家好:
我有一个服务器程序,采用完成例程模型,想不停地向众多已连接的客户端推送数据,大致的代码如下:

线程函数:
while(1)
{
client = accept(....)

Getdata()....

wsasend(client。。。comfunc)....
}

完成例程代码大致为:
comfunc
{
Getdata()....

wsasend(client。。。comfunc)....
}


目前的设想是一旦有客户端连接,就获取数据,发送数据,然后在完成例程里再次获取新数据,再发送数据,一直延续下去

但在现实中调试发现,第一个客户端连接后,accept能够相应,并按照设想一直推送,但第二个客户端链接后,accept函数没有响应,直到第一个客户端断开,accept才响应,并按照设想一直推送。

请问这是什么原因?
...全文
428 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyh324 2016-10-25
  • 打赏
  • 举报
回复
接收线程可能有问题
worldy 2016-10-17
  • 打赏
  • 举报
回复
程序有问题....................
tiger波波 2016-10-17
  • 打赏
  • 举报
回复
顶一一一一一一一一一一下
赵4老师 2016-10-11
  • 打赏
  • 举报
回复
参考epoll源代码?

18,356

社区成员

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

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