GoChat 是一个基于命令行的聊天程序,使用 Go 语言编写,包含服务器端程序和客户端程序。
GoChat 支持以下功能:
- 公聊:用户可以向所有在线用户发送消息。
- 私聊:用户可以向指定用户发送私信。
- 更新用户名:用户可以更改自己的用户名。
- 查看在线用户:用户可以查看当前所有在线用户。
- 自动踢出:当用户长时间未活动时,系统会自动将其踢出。
git clone https://github.com/wenjunjie/GoChat.git
在命令行中进入服务器端目录,并执行以下命令:
go run server.go
服务器端默认监听本机 IP 地址和端口号为 8888,可以通过修改源码中的 ip
和 port
变量来更改。
在命令行中进入客户端目录,并执行以下命令:
go run client.go -ip <服务器IP> -port <服务器端口>
其中 <服务器IP>
和 <服务器端口>
分别是服务器的 IP 地址和端口号。
客户端支持以下命令:
1
:进入公聊模式。2
:进入私聊模式。3
:更新用户名。4
:查看在线用户。0
:退出客户端。
在公聊模式下,用户可以向所有在线用户发送消息;在私聊模式下,用户可以向指定用户发送私信;更新用户名可以更改用户的用户名;查看在线用户可以查看当前所有在线用户。
GoChat 使用 Go 语言编写,使用了 net
、sync
、time
等标准库,通过 TCP 协议进行客户端和服务器端之间的通信。
服务器端维护了一个在线用户列表,通过 map
进行存储和管理。客户端和服务器端之间通信采用了 Goroutine 和 Channel 实现并发处理,客户端通过 select
语句实现超时自动踢出功能。
- 文俊杰 (wenjunjiecn@163.com)
GoChat 采用 MIT 许可证。