2.2.2服务器端系统详细设计图
2.2.2.1监听好友消息流程
2.2.2.2 服务器端主要类UML关系图
ServerListenThreadServerReciveThread- textarea:JTextArea- textfield:JTextField- combobox:JComboBox- client:Node- userInfoList:UserInfoList+ isstop:boolean- server;ServerSocket- combobox:JComboBox- textarea:JTextArea- textfield:JTextField- userInfolist:UserInfoList- client:Node- recvThread:ServerReceiveThread+ isstop:boolean+ run()void+ ServerReceiveThread()+ rund():void+sendToAll();void+sendUserList():void聊天室服务端主要包括7个文件,它们的功能如下:
(1)ServerListen.java:ServerListen类其父类为Thread,实现侦听客户端的连接,并响应用户登录的功能,函数run实现相应的功能,当服务器启动时就会创建侦听线程,并调用该类的start函数开始运行线程,而start函数又会调用run函数来实现。
(2)ServerReceiveThread.java:该类是实现接受客户端的信息的功能,该类主要功能在run函数中实现,当侦听线程接收到用户登录请求后就会为该用户创建一个独立的线程并调用该类的的start函数,开始运行线程而start函数又会调用run函数,真正操作在run函数中进行.成员函数sendToAll,实现向所有在线用户转发聊天信息功能在该函数中遍历用户链表依次像所有用户转发聊天信息。添加成员函数sendUerList,实现向所有在线用户发送用户列表的功能,在该函数中遍历用户链表,依次向所有在线用户发送用户链表。