客户端需要实现的功能主要是登录、发送信息和即时显示聊天信息。界面也是对象比较简单,大家需要建立两个窗口界面:1、登录界面和聊天界面,界面比较简单,不做讲解了。
一、封装功能类
我们先把客户端端所需要用到的功能封装起来,在com.dao包中新建Client类,实现代码如下:
1 2 3 4 5 6 7 8
扫描二维码关注公众号,回复:
3960187 查看本文章
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
二、登录功能
绑定登录按钮的单击事件,首先获得用户的输入,然后调用上面封装类的connect方法,连接成功后把用户名发送个服务器端,关闭当前窗口,启动聊天窗口,聊天界面和登录界面所使用的客户端对象clinet是同一个,所以在启动聊天界面时要把客户端对象clinet传给聊天界面。实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
三、发送信息
绑定聊天界面的发送按钮的单击事件,实现代码如下:
1 2 3 4 5 6 7 8 9 10 |
|
四、监听服务器发来的聊天信息。
我们需要在聊天界面上面新建一个线程,不断的监听服务器有没有新的聊天信息发送,如果有,就把聊天信息显示在界面上。修改聊天窗口类的构造方法。在构造方法中启动一个线程,实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
这样我们的系统就开发完毕了,当然还有一些优化功能还需要不断完善,比如窗口关闭后要绑定关闭事件,把socket也关闭等等。这里就不详细说明,具体大家可以下载源码查看。