1.使用说明
1。设置成服务器
点击菜单的"Open"->"Set"设置服务器监听的端口和服务端的昵称
点击"ok"确定
点击菜单的"Open"->"Listen"开始监听 刚才设置的端口
2。设置客户端
点击菜单"Open"->"Set"设置客户端要联接的服务器地址、端口和客户昵称
点击菜单"Open"->"Connect"尝试联接服务器 如果联接失败 则菜单项按不下去
3。客户端退出
客户端在连结状态下,点击"Open"->"Disconnect" 则退出与服务器连接,并且
服务端向其它客户端发送该客户退出消息
退出后,客户端保持原来设置,用户可以在次连结,也可以重新设置连结信息
4。服务端退出
服务端在监听状态下 点击菜单"Open"->"Disconnect" 退出服务器监听,此时
如果有已经连接上的客户端 ,则向客户端发送断开命令,并断开连接
2。程序结构说明
存在关系:
class Listener ---------class Connect
class Chat
class SetDialog
class Client
(不小心把 class Connect 写在 class Listener 外面)
其中 class Chat 负责主窗体的生成,及个控件的事件处理
class SetDialog 负责设置对话框(模式对话框)的各种操作
class Listener 负责监听通讯端口,维护客户连接的 socket 链表
class Connect 负责与各个客户端进行通讯
class Client 当程序以客户端工作时,其对象负责与服务端通讯
说明:
class Listener 继承自 Thread 类, 构造函数需要传入 ServerSocket 为参数
在 run 方法中以一个 while(true)来 accept 客户 socket 当有客户连接是
创建一个 Connect 对象纪录客户 socket 并将其加入双向链表当中其中
评论0