ty23615678
ty23615678
采纳率0%
2018-08-14 06:54 阅读 2.9k

socket编程 ,服务器和多个客户端的交互

5

服务器端管理若干客户端socket,当某一客户端状态变化时,
马上通知所有其他客户端; 目前想到遍历,一个一个发送send;有没有调用一次就可以
解决呢? (多播?)
最好提供下简单实现 ,多谢啦~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • feellsj feellsj 2018-08-14 07:00

    http://blog.sina.com.cn/s/blog_c0e6ab9b0102whw8.html
    这是一个相关的一个 服务器,n个客户端交互

    点赞 评论 复制链接分享
  • ty23615678 ty23615678 2018-08-14 07:00

    我要的效果是:
    当与多个客户端进行数据传输时,如何才能使服务器负担轻并且高效。
    遍历发送 ,感觉太耗时啊
    大牛们给指点下

    点赞 评论 复制链接分享
  • zhaomin_g _zming 2018-08-14 07:20

    服务端可以检测客户端定期发来的心跳消息,如果服务端长时间收不到客户端心跳消息,可于客户端主动断链

    点赞 评论 复制链接分享
  • stonefeng 疯癫行者 2018-08-14 07:53

    相当于群里一个人发消息,所有群成员都看到。要么服务器主动发,要么客户端定期获取。如果觉得遍历发送太耗时,那么你是否是顺序运行的?等一个发完了再发下一个?那样就慢了。
    如果你用的编程语言支持多线程,你可以让这个工作并行,速度会快很多。

    点赞 评论 复制链接分享
  • lwladzhj lwladzhj 2018-08-14 09:37

    Socket是面向连接的套接字,需要循环已经连接的所有客户端,进行发送消息。你可以使用udp的套接字,就行广播发送,但是是面向非连接的。

    点赞 评论 复制链接分享
  • hu_belif huwao 2018-08-14 14:22

    服务器只作为中转站,每次客户端发消息来的时候,将一个客户端的信息转发到其他所有连接在这个服务器的客户端,实现类似群聊的功能。

    点赞 评论 复制链接分享
  • hu_belif huwao 2018-08-14 14:31
  • ty23615678 ty23615678 2018-08-15 06:04

    广播(组播)客户端 ,只能用UPD吗 ?
    该方式稳定性如何呢

    点赞 评论 复制链接分享

相关推荐