生命不止,继续 go go go !!!
上一篇博客跟大家介绍了,如何实现一个简单的tcp服务器和客户端,那么在此基础上,继续深耕一点点,介绍一下如何创建一个聊天室。
当然,还是还是一个要有一个服务端和若干个客户端。
server
net.Listen
Accept
这两个方法就不介绍了,之前都有提到过。
声明一个net.Conn数组,用于存放连接服务器的客户端:
var clients []net.Conn
大部分跟之前提到的tcp的server/client没有区别,最大的区别就是服务端收到消息后需要通知各个客户端,所以可以通过遍历数组cliQue来完成消息的通知。这里用到了for…range循环:
func notify(conn net.Conn, msg string) {
for _, con := range clients {
if con
本文介绍如何使用Go语言实现一个简单的聊天室。基于之前讲述的TCP服务器和客户端,通过net.Listen和Accept建立连接。服务端利用Conn数组存储客户端连接,接收到消息后广播到所有客户端。当客户端离开时,会通知其他在线用户。客户端通过net.Dial连接服务器,读取并发送数据。完整代码展示服务端和客户端的实现细节。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



