服务器如何发送消息到所有客户端

分号 2019-05-17 04:07:36
请问在网络编程里,比如网络游戏中的网络编程,如果一个客户端产生了一条数据,它如何发送到其他联网的客户端会比较高效?
我在网上搜索了一下,发现很多例子都是以循环的方式把消息一个个发送到其他的客户端,但我在想这种方式是不是效率不高?假设连接了上千个客户端,那岂不是每次都要循环上千次?
...全文
251 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鱼> 2019-05-17
  • 打赏
  • 举报
回复
你可以了解一下EMQ,有商用版本与开源版本,如果需求不大,开源就可以
wanghui0380 2019-05-17
  • 打赏
  • 举报
回复
这个谁做都一样,哪怕是kafaka,mq这类中间体,他也是轮询的发的(虽然看上去是只发了一条,但是轮询操作是中间件代理的)。这是没办法的事情,tcp握手了就是专用通道,别人插手不了
独立观察员 2019-05-17
  • 打赏
  • 举报
回复
好像可以用 SignalR
stherix 2019-05-17
  • 打赏
  • 举报
回复
本来就要循环的 就算假设有的框架有Send2All这样的方法 它内部也是循环一个个发的 因为网络底层实际是要产生这么多udp包并发送,并不会效率不高
OrdinaryCoder 2019-05-17
  • 打赏
  • 举报
回复
UDP广播了解一下

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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