用Golang实现 文本广播式聊天服务器/客户端
根据 用Golang实现 服务器/客户端 将其改造成一个文本信息聊天室
服务端的改动
服务器为了实现聊天信息的群体广播, 需要记录所有连接到服务器的客户端信息, 所以, 我们需要添加一个集合来保存所有客户端的连接:
var ConnMap map[string]*net.TCPConn
接着, 每次当有新的客户端连接到服务器时, 需要把这个客户端连接行信息加入集合:
ConnMap[tcpConn.RemoteAddr().String()] = tcpConn
当服务器收到客户端的聊天信息时, 需要广播到所有客户端, 所以我们需要利用上面保存TCPConn的map来遍历所有TCPConn进行广播, 用以下方法实现: