请教关于一个socket和多线程的服务器端问题。

cansanta 2005-05-10 09:09:16
请教关于一个socket和多线程的服务器端问题。
服务器端程序用c++ builder 编写的。有一个主线程、一个接收数据线程(socket udp 通讯、非阻塞方式。),是一个死循环。一个数据处理线程,也是死循环。在主程序的初始化的时候创建线程。在创建线程的时候就让两个线程出于就绪态。两个线程的优先级是相同的。接收线程和处理线程的数据通讯采用的是共享内存方式。现在的问题是当客户端的发送的包,服务器端总是会出现接收丢包的现象。请问怎么做才能使服务器端不出现接收丢包的现象。数据处理线程对每一个包的处理时间有点长。
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
执假以为真 2005-08-30
  • 打赏
  • 举报
回复
up
pizicai105 2005-08-23
  • 打赏
  • 举报
回复
「已注销」 2005-07-18
  • 打赏
  • 举报
回复
学习
newtonoooo 2005-05-14
  • 打赏
  • 举报
回复
接收线程简单一点,存入缓冲,处理可以慢一点,如果还丢包把缓冲开大一点
cansanta 2005-05-11
  • 打赏
  • 举报
回复
to: lidawen(Darwin) (
通过抓包工具分析,我的计算机是收到包的。但是就是程序在读包的时候,并不是所有的包都收到了的。是不是我的多线程的程序有问题?
lidawen 2005-05-11
  • 打赏
  • 举报
回复
局域罔內,應該丟包的情況應該很少出現.
那就可能共享内存,在處理縣程讀共享内存,接收縣程寫共享内存占用的時間過長了.
lidawen 2005-05-11
  • 打赏
  • 举报
回复
局域罔內,應該丟包的情況應該很少出現.
那就可能共享内存,在處理縣程占用的時間過長了.
cansanta 2005-05-11
  • 打赏
  • 举报
回复
总体要求不能换成tcp,只能用udp
mmking33 2005-05-11
  • 打赏
  • 举报
回复
udp换tcp试试

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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