Go微服务实战
上QQ阅读APP看书,第一时间看更新

7.1 案例需求

在学习Go语言时,最有效的学习方式是完成一个实用的项目。本章实战案例选定聊天服务器项目,是因为这个项目简单、全面,能够快速实现,同时也可以让读者快速、全面地了解Go语言技术。

为了便于理解,先完成一个单聊天服务功能。首先来了解一下案例需求。

▪用户可以连接到服务器。

▪用户可以设定自己的用户名。

▪用户可以向服务器发送消息,同时服务器也会向其他用户广播该消息。

当然,只有用户连接到服务器的时候,才可以收到消息。

简单分析需求之后,我们可以将该项目分为三个模块:一个是通信协议,用来描述客户端和服务器端的通信编码方式;一个是服务器端,用来接收客户的信息并且向其他客户端广播这些信息;还有一个是客户端,是用户连接服务器、发送消息的端口,并且要为用户提供一个图形化界面。

下面就以通信协议、服务器端、客户端三个模块来分别描述其实现方法。