一、实验目的
本次实验需要完成一个实时聊天系统。该系统由聊天客户端和聊天服务器组成。客户端即可以给指定客户端发送信息,也可以把消息广播给所有客户端。通过这个实验,使得学生掌握socket API编程。
二、实验内容
该章节将会详细的列出服务器和客户端的功能要求。
2.1 服务器的功能
服务器能够并行处理客户端发送过来的消息或者命令
服务器把从新连接的客户端中收到的第一条消息作为该客户端的用户名称
服务器能够处理从客户端发送过来的两种类型的信息:
广播信息,服务器收到信息后将其广播给其他客户端
点对点信息,服务器将消息转发给指定客户端
服务器需要把某个客户端发送的广播聊天信息,广播给和该客户端在同一个频道的所有客户端(但是不包括该用户端自己)这个广播消息的格式应为[<name>]:<message>。其中<name>为发送聊天信息的客户端名称,<message>为该客户端发送的消息
当某个客户端离线时,服务器需要广播一个离线消息给所有的客户端
容错处理。当客户端发送的数据和规定的格式不一致时,服务器能够处理这个错误并且返回错误信息
2.2 客户端的功能
从服务器返回的消息需要显示在控制台下,并且需要去除末尾多余的空格
为了区别于其他人发送的消息,客户端自己发送的消息,需要在控制台中以“[me]:”显示
三、操作环境
操作系统:Mac OS
编写语言:Java
编译软件:Eclipse
参考文档和完整的文档和源码下载地址:
网友评论