Java Socket编程 - 基于TCP方式的客户服务器聊天程序
本文讲演示如何通过Java Socket建立C/S方式的聊天程序。实现的功能
主要包括如下几个方面:
1. 用户登录,在线用户列表刷新
2.客户端与服务器的TCP连接,实现消息的发送与接受
3.Java Swing与多线程编程技巧
一个整体的Class关系图如下:

程序实现的服务器端UI如下:

一个JList组件用来显示在线的所有用户,一个JTextArea组件用来显示所有消息
记录。所有消息必须通过服务器端转发。点击【start】按钮启动服务器端监听
默认监听端口为9999。
启动服务器端的Action中的代码如下:
一个自定义的JPanel实现背景渐进颜色填充。
- Message组件用来接受用户输入的聊天信息
- Friend List 会自动刷新用户列表,当有新用户登录时候
- History Record用来显示聊天记录
- 【Connect】点击连接到Server端,前提是必须填写设置中全部,默认的机器IP为127.0.0.1端口为9999
- 【send】按钮点击会发送用户输入的消息到指定的其它客户端。如果
没有选择用户,则发送到服务器端。
- 一次发送消息的大小不得大于200个字节。
完整的客户端代码如下: