同时发送同一数据到多个地址,使用udp,以下三种方案,各有什么好处

Android 2003-10-20 03:59:45
同时发送同一数据到多个地址,使用udp,要求数据发送同步,并且发送包的数量比较多

方案1:一个socket,一个包一个包循环发送
方案2:建立n个线程,每个线程用一个全局的socket发送数据
方案3: 建立n个线程,每个线程创建一个独立的socket,发送数据

请问几种方案,各有什么优点,哪种更好
...全文
187 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Android 2003-10-22
  • 打赏
  • 举报
回复
大家再讨论一下吧
Android 2003-10-21
  • 打赏
  • 举报
回复
有没有具体做过的。。。我现在觉得用循环比较好啊
广播和组播我不采用,因为网络条件达不到
zihan 2003-10-20
  • 打赏
  • 举报
回复
你如果用UDP那么就不用考虑阻塞的问题了啊,建议你再每个线程里面用一个socket,因为你每个socket里面的数据都不一样,至少ip不一样.
city_lovelace 2003-10-20
  • 打赏
  • 举报
回复
那用组播岂不更好?又可以一次发送给多个人还可以控制接受的人
w_flyer 2003-10-20
  • 打赏
  • 举报
回复
用udp的广播属性,就可以做到,发送一次,多人接受的效果!
tomfool 2003-10-20
  • 打赏
  • 举报
回复
关注
Android 2003-10-20
  • 打赏
  • 举报
回复
我主要是想知道的是:socket底层的一些效率问题。同时用多个socket发送数据,和用一个socket发送数据有何区别。如果一个sendto时阻塞了,那么,不管是用循环发送,还是线程同步发送时,都会塞住。
mgphuang 2003-10-20
  • 打赏
  • 举报
回复
我也考虑过这样的问题。
  一般是这样的做法,一个线程管理若干个比如是50。分级处理。每个纯程内用一个socket.
  我倒有一个种幼稚的想法,不管如何,在单机上怎么都是轮询发送的。
  局域网中,一个叫做种子机,计算和广播全局信息,其它发送机,管理登录用户,分析广播信息再轮询发送。不过只是设想,没有科学依据的。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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