关于一个IOCP控件的问题,希望哪位大牛能帮忙改改,谢谢额

ye429333234 2012-12-13 09:07:35
http://download.csdn.net/detail/foreverhero/2267433
这是控件的下载地址,当多条消息同时请求,收到消息后比如收到的是"123",然后给所有在线用户发送"456",就好比群聊吧,这时候会有问题(多条请求的时候,也就是多线程的时候,我的处理函数加了临界,我也确定没有问题,本来应该给客户端1发送"XXX1,XXX2,XXX3,XXX4",比如是发送4次,他可能会连起来一次发送,这到是没什么,但是有时候,数据都不对,可能会变成"XXX1XXX1XXX1XXX1",每条内容一样了,也是合并起来,一次就发送了),希望哪大牛能帮忙看看,联系作者也联系不上,不理我
我怀疑是哪里改加临界的没有加,或者是缓冲区的问题,我是小白,我也说不清楚,希望哪位大牛能帮忙看看 ,花费不了您多少时间的,感谢啦,有兴趣看看的可以加我Q:627464,我发我的测试代码给你,你可能立马就能找到问题所在,但我确不行.....10多20天了,都没解决
...全文
512 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
UndefinedCoder 2013-03-06
  • 打赏
  • 举报
回复
粘包处理属于应用逻辑,控件件无能无力。要写稍微复杂点的网络程序,尤其是要应用IOCP等异步技术,需要牢固的编程基础的。
Q287413288 2013-02-25
  • 打赏
  • 举报
回复
粘包与短连接,长连接无关,网络通信中必须处理粘包问题,我在开发IOCP的时候,粘包的代码写了好多好多
tp机器猫 2013-01-02
  • 打赏
  • 举报
回复
问一下,短连接需要考虑粘包吗?
SQLDebug_Fan 2013-01-02
  • 打赏
  • 举报
回复
短连接也要考虑粘包
SQLDebug_Fan 2012-12-18
  • 打赏
  • 举报
回复
用TCP协议通讯都需要考虑粘包问题,这个需要通过协议来解决,可以参考这个:http://blog.csdn.net/sqldebug_fan/article/details/7907765
ye429333234 2012-12-17
  • 打赏
  • 举报
回复
又找到个新问题,如果在每次需要FOR循环发送数据前 先SLEEP(20)毫秒 那么就没有什么问题了 虽然偶尔还是有粘包的情况,但是至少数据是正确的 如果不在FOR循环发送前SLEEP20 那么客户端收到的数据 粘包很严重 要粘N多条,而且所有数据都会变成最后发送的那条 比如本来发送的是第一条:XXX1,第二条:XXX2,第三条:XXX3,第四条:XXX4 而客户端收到的就是:XXX4XXX4XXXX4XXX4 这是什么原因呢?
Q287413288 2012-12-14
  • 打赏
  • 举报
回复
关注下。有空的时候,帮你解决
ye429333234 2012-12-14
  • 打赏
  • 举报
回复
什么时候有空呢?
蓝色光芒 2012-12-13
  • 打赏
  • 举报
回复
QQ上都给你说了要粘包,你不信有什么办法...

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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