欢迎来到天天文库
浏览记录
ID:37925827
大小:242.50 KB
页数:25页
时间:2019-06-02
《Java Socket实现多人聊天室》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JavaSocket实现多人聊天室---swing做UI标签: socket聊天javaexception服务器string2011-08-3115:06 20679人阅读 评论(25) 收藏 举报 分类:java(21) 版权声明:本文为博主原创文章,未经博主允许不得转载。今天翻硬盘的workspace发现一个JavaSocket实现多人聊天室的源码,不记得是什么时候的事情了,貌似不是我写的。但写得还不错, 至少算个有模有样的聊天室工具。我简单的修改了一下,拿出来跟大家分享一下,仅供参考。。。 界面是用swing写的,还不懒,简约大方。有图有真相:
2、 正如上图所示,这个程序分为服务器端和客户端,说白了就是两个mainclass,用eclipse直接运行之。。。。。 聊天室的设计思想是:在局域网下,利用socket进行连接通信,当服务器端启动的时候,利用Thread线程不停的等待客户端的链接;当有客户端开启连接的时候,服务器端通过IO流反馈“上线用户”信息给客户端,客户端也使用线程不停的接收服务器的信息,从而实现多人在线聊天功能。 程序中有三个类,分别Server.java(服务器端)、Client(客户端)、User.java(javabean)。代码如下: Server.java(服务器端
3、):[html] viewplaincopy1.import java.awt.BorderLayout; 2.import java.awt.Color; 3.import java.awt.GridLayout; 4.import java.awt.Toolkit; 5.import java.awt.event.ActionEvent; 1.import java.awt.event.ActionListener; 2.import java.awt.event.WindowAdapter; 3.import java.awt.event.Wind
4、owEvent; 4.import java.io.BufferedReader; 5.import java.io.IOException; 6.import java.io.InputStreamReader; 7.import java.io.PrintWriter; 8.import java.net.BindException; 9.import java.net.ServerSocket; 10.import java.net.Socket; 11.import java.util.ArrayList; 12.import java.ut
5、il.StringTokenizer; 13. 14.import javax.swing.DefaultListModel; 15.import javax.swing.JButton; 16.import javax.swing.JFrame; 17.import javax.swing.JLabel; 18.import javax.swing.JList; 19.import javax.swing.JOptionPane; 20.import javax.swing.JPanel; 21.import javax.swing.JScroll
6、Pane; 22.import javax.swing.JSplitPane; 23.import javax.swing.JTextArea; 24.import javax.swing.JTextField; 25.import javax.swing.border.TitledBorder; 26. 27.public class Server { 28. 29. private JFrame frame; 30. private JTextArea contentArea; 31. private JTextField t
7、xt_message; 32. private JTextField txt_max; 33. private JTextField txt_port; 34. private JButton btn_start; 35. private JButton btn_stop; 36. private JButton btn_send; 37. private JPanel northPanel; 38. private JPanel southPanel; 39. private JScr
此文档下载收益归作者所有