Linux聊天室(二)

132 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天

2 需求分析

2.1设计目的

由于Linux的开源的特点,越来越多的人转而使用Linux做为PC机的操作系统。但是Linux的真正兴起只是在最近几年,因此很多功能并不是很完善,并且由于Linux的开源特征,很多软件开发公司很难从中获得直接利益,因此很多Windows上的实用的软件,在Linux下却很少见。本课程设计正是为了解决Linux下局域网聊天问题而设计的,并且希望通过本课程设计可以更好的了解Linux操作系统的原理,进一一步掌握vi,gcc 等工具的使用,并且熟悉Linux下的网络编程,以及多线程编程。

2.2设计内容

本设计实现了在linux下简单的网络聊天室。在Linux下编写并调试服务器端程序和客户端程序,实现了客户、服务器之间的连接和通信。可以在计算机上开辟两个窗口分别运行客户、服务器端的程序,或者将两台主机连接分别作为客户和服务器的方式。本设计使用网络套接字socket和多线程在网络中的应用,并基于linux下的vi编辑器。本方案经gcc调试器调试成功,可以在网络聊天中使用。

2.2.1服务器端

(1)能够正确地、无冲突地启动服务器。

(2)监听指定的端口,等待用户的连接。

(3)建立与客户端的逻辑连接,并能通知其他好友。

(4)向新进入的好友发出己上线的好友名单。

(5)接收客户端的消息请求,并能正确无误地处理消息,并能发出消息到客户端。

(6)反映当前在线人数和在线好友状况。

(7)及时地反映发出地消息和聊天消息。

(8)当好友断开与服务器端地连接时,服务器能够正确地断开连接,并通知其他用户。

(9)当用户违反聊天系统规定时,服务器系统管理员能够断开与此用户的连接

(10)当服务器关闭时,应通知所有用户。

2.2.2客户端

(1)能够正确启动应用程序,并能向服务器发出连接请求。

(2)反映当前好友在线情况。

(3)能够向群体或指定好友发出消息。

(4)能够及时接收好友发出消息,并通知用户。

(5)能够正确地断开与服务器端地的连接。