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

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

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

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

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

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

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

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

https://blog.csdn.net/hu_belif/article/details/81675911

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