等功能)"/>
go socket 实现聊天室功能2.0(增加人员验证、监听信息、广播等功能)
前段时间用go写了一个简单的聊天室,后来考虑到任何人都可以随意加入聊天室这个问题,我就加上了一个服务端控制客户接入的功能,调整了服务端的代码。
原文章:go socket 实现聊天室功能
相比原聊天室,调整了一下几个方面:
①增加了获取客户端验证信息,控制是否允许接入聊天室。
②增加服务器监听客户端聊天记录、广播信息。
③抽取了控制管道信息输出的handleMsg方法和控制客户端输入的handleClient方法。
package mainimport ("bufio""fmt""log""net""os""strings""time"
)//创建结构体存储用户名称、信息和时间
type chatMsg struct {name stringmsg stringt string
}var (msg = make(chan string) //用于新用户加入时广播信息chatMsgs = make(chan chatMsg) //发送聊天信息exit = make(chan chatMsg) //离开信息login = make(chan string)clients = make(map[string]net.Conn) //定义一个map,使用用户名作为key,value该用户的链接logins = make(map[string]net.Conn) //定义一个map,使用
更多推荐
go socket 实现聊天室功能2.0(增加人员验证、监听信息、广播等功能)
发布评论