您的位置:首页 > 理论基础 > 计算机网络

java多线程以及java网络编程实现简单的聊天系统

2015-10-15 20:57 1066 查看
该系统采用java多线程技术java网络编程技术实现一个基于C/S的聊天系统,系统分为客户端及服务器端:

服务器端主要涉及到以下几个线程:

1.在服务器启动之后会启动一个名为ConnectThread的线程,该线程用来处理用户连接;

2.在服务器启动之后同时会启动一个名为ServerUDP的线程,由名字知道该线程通过UDP进行数据传输的,它是接收用户传过来的消息,并将消息转发给所有在线用户;

· 3.在服务器启动之后还会启动一个ExitThread的线程,该线程用来监听退出的用户,当某个用户退出之后,该线程来更新服务器的在线用户列表,以及将新的在线用户列表
通知给所有在线用户。

客户端涉及到更多的线程:

1.首先是一个名为ClientConnectThread的线程,当用户登陆时通过该线程去尝试与服务器端进行连接,如果连接成功,则进入到用户聊天界面

当用户登陆成功之后会启动以下两个线程:

(1)其中一个名为ReceiveMessageThread的线程,用来接收服务器发送过来的消息;

(2)另一个名为ReceiveUserslistThread的线程,用来接收服务器发过来的更新后的用户列表。

2.当用户进行聊天时候会启动一个名为SendMessageThread的线程,通过UDP传输协议向服务器端发送数据。

系统涉及到的主要界面:



输入端口号之后启动了,其中端口号限制在1024到65535之间,启动后等待用户连接,以及接收用户发过来的消息,启动之后的界面为:



客户端登陆界面:



客户端登陆成功之后的界面:



登陆多个用户时候,客户端以及服务器端在线用户列表的变化如图所示:





其中一个用户退出之后客户端以及服务器端在线用户列表的变化:





当服务器退出的时候,客户端的提示消息:



该系统在传输数据的过程中即用到了TCP协议也用到了UDP协议,并且使用了很多线程,熟悉并掌握该系统的实现方法非常有助于理解java多线程以及java网络编程,本系统并不完善,例如还未实现用户与用户之间的单聊,路漫漫其修远兮,吾将上下而求索。最后非常感谢张龙张老师,没有他的视频以及他提供的源代码以我个人可能很难完成这个系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: