社区
网络编程
帖子详情
多个线程向一个接收端发送数据,怎么做到数据不错乱和重复接收?
umbrella1984
2006-03-03 05:15:37
发送的SOCKET有很多个,都是sendto,但是接收的线程和SOCKET只有一个。我现在的结果是50个线程同时或每个线程间隔500毫秒以后接收的时候会收到重复的数据。比如26个线程发送26个字母,但接收到的切有重复的字母在里面。因为我这个程序要求速度要很快,发送的时候速度达到了,但接收的时候切出现这个问题,郁闷,请各位知道怎么解决的献策了啊!!!!
...全文
314
11
打赏
收藏
多个线程向一个接收端发送数据,怎么做到数据不错乱和重复接收?
发送的SOCKET有很多个,都是sendto,但是接收的线程和SOCKET只有一个。我现在的结果是50个线程同时或每个线程间隔500毫秒以后接收的时候会收到重复的数据。比如26个线程发送26个字母,但接收到的切有重复的字母在里面。因为我这个程序要求速度要很快,发送的时候速度达到了,但接收的时候切出现这个问题,郁闷,请各位知道怎么解决的献策了啊!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
umbrella1984
2006-04-04
打赏
举报
回复
客戶端很多線程連接到服務器端(accept候新建的接收線程),並且每個線程都發送了唯一的數據,但服務器端切收到有重復的數據。
striking
2006-04-04
打赏
举报
回复
UDP每次收到的都是一个完整的包.
你说发送的SOCKET有很多个, 不明白丫. 如果服务器只有一个socket接收,那么客户端怎么会有很多socket?
viewerviewer
2006-04-04
打赏
举报
回复
呵呵,估计有不少人看了都觉得是一头雾水,反正俺是,楼主可能却实是没有表达明白...
charles_y
2006-04-04
打赏
举报
回复
客戶端很多線程連接到服務器端(accept候新建的接收線程),並且每個線程都發送了唯一的數據,但服務器端切收到有重復的數據。
---------------------------------------------------------------------------------------------
到底哪个是客户端?哪个是服务器端?
还有,既然是tcp,服务器端就需要维护一个跟客户端对应的socket 列表,一一对应的关系怎么会需要sendto 呢?
striking
2006-04-04
打赏
举报
回复
你那是tcp吧, 怎么我看成是udp的.
汗一下, lz表述不清楚. 批评一下.
浪费大家时间.
tcp有sendto吗?
你发的数据有定义包头吗? 服务器怎么接收的?
xiaoran2267
2006-04-03
打赏
举报
回复
因为用的是SENDTO ,如果每个客户线程只发一次,不丢就不错了。怎么会有重复的哪。是不是重复发送了呀!
gohappy_1999
2006-04-03
打赏
举报
回复
重复接收应该是发送端重复发送造成的吧
umbrella1984
2006-04-03
打赏
举报
回复
问题是一个线程已经接收了数据了,但另一个线程也会收到同样的数据。
charles_y
2006-03-03
打赏
举报
回复
有什么必要这样做吗?
这么做比较难,需要区分数据源,保证能组成一个个完整的逻辑包
lc_mtt
2006-03-03
打赏
举报
回复
我觉得,就算客户端有一亿个线程发数据,也快不去吧,毕竟服务端只有一个线程接收...
stevecrisewu
2006-03-03
打赏
举报
回复
你要定义自己的协议
封装一个完整包
Qt高级系列之8:Qt多
线程
线程
池
数据
同步机制及文件下载器项目实战
1.带领您深入学习QT5/C++:Qt多
线程
线程
池及
数据
同步机制 ,多
线程
文件下载器项目实战,继承自QThread,继承自QObject,QRunnable和QThreadPool,QtConcurrent,Qt多
线程
技术与
数据
加锁保护机制:QMutex,QSemaphore...
Udp
接收
和发送的多
线程
进行(新手)
以多
线程
来
接收
和
发送
数据
(udp) 思路:建立三个函数,
一个
是发送函数,另
一个
是
接收
函数,还有
一个
主函数,调用前面两个函数,实现功能。在mNetAssist软件下调试。 结果:与非多
线程
似乎没有什么区别,看了一下...
关于Socket通信中
多个
线程
同时向
一个
服务端口
发送
数据
时的注意点
其中存在
多个
类似功能的模块,这些模块可能出现在同一时间段向
一个
服务端端口发送消息的情况,刚开始使用
一个
socket去通信,结果发现异常频繁出现.(事实上,当发送间隔很长,比如每200ms才会有一次发送,那么两个
线程
之间...
TCP+多
线程
,让发送消息和
接收
消息各占一条
线程
在上次Socket通讯 使用Socket实现简单的聊天功能 ...这时我们就要专门为发送消息和接受消息各创建
一个
线程
,就可以一次性发送多条消息。步骤1.创建
一个
发送消息Send类package ThreadSocket; import java.io.IOEx...
Socket通信实现
一个
服务器端
接收
多个
客户端的
数据
服务器端每
接收
一次Socket管道,就分配
一个
独立的
线程
来处理客户端发送的
数据
,便能实现
一个
服务器端
接收
多个
客户端的
数据
。 客户端开发流程: 1.创建客户端Socket对象,输入服务器的IP和端口号,请求连接服务器端; ...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章