资源简介
java实现socket编程网络通信多人聊天室,可以实现简单的多人聊天功能。适合初学的大二,大三学生,学习。

代码片段和文件信息
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.titledBorder;
public class Client{
private Jframe frame;
private JList userList;
private JTextArea textArea;
private JTextField textField;
private JTextField txt_port;
private JTextField txt_hostIp;
private JTextField txt_name;
private JButton btn_start;
private JButton btn_stop;
private JButton btn_send;
private JPanel northPanel;
private JPanel southPanel;
private JScrollPane rightScroll;
private JScrollPane leftScroll;
private JSplitPane centerSplit;
private DefaultListModel listModel;
private boolean isConnected = false;
private Socket socket;
private PrintWriter writer;
private BufferedReader reader;
private MessageThread messageThread;// 负责接收消息的线程
private Map onLineUsers = new HashMap();// 所有在线用户
// 主方法程序入口
public static void main(String[] args) {
new Client();
}
// 执行发送
public void send() {
if (!isConnected) {
JOptionPane.showMessageDialog(frame “还没有连接服务器,无法发送消息!“ “错误“
JOptionPane.ERROR_MESSAGE);
return;
}
String message = textField.getText().trim();
if (message == null || message.equals(““)) {
JOptionPane.showMessageDialog(frame “消息不能为空!“ “错误“
JOptionPane.ERROR_MESSAGE);
return;
}
sendMessage(frame.gettitle() + “@“ + “ALL“ + “@“ + message);
textField.setText(null);
}
// 构造方法
public Client() {
textArea = new JTextArea();
textArea.setEditable(false);
textArea.setForeground(Color.blue);
textField = new JTextField();
txt_port = new JTextField(““); //设置端口号和
txt_hostIp = new JTextField(“127.0.0.1“);
txt_name = new JTextField(““);
btn_start = new JButton(“连接“);
btn_stop = new JButton(“断开“);
btn_send = new JButton(“发送“);
listModel = new DefaultListModel();
userList = new JList(listModel);
northPanel = new JPanel();
northPanel.setLayout(new GridLayout(1 7));
northPanel.add(new JLabel(“端口“));
northPanel.add(txt_port);
northPanel.add(new JLabel(“服务器IP“));
northPanel.add(txt_hostIp);
northPanel.add(new JLabel(“姓名“));
northPanel.add(txt_name);
northPanel.add(btn_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2016-03-16 21:54 MulServer\.classpath
文件 385 2016-03-16 21:54 MulServer\.project
文件 598 2016-03-16 21:54 MulServer\.settings\org.eclipse.jdt.core.prefs
文件 601 2016-03-17 08:55 MulServer\bin\Client$1.class
文件 598 2016-03-17 08:55 MulServer\bin\Client$2.class
文件 2179 2016-03-17 08:55 MulServer\bin\Client$3.class
文件 1367 2016-03-17 08:55 MulServer\bin\Client$4.class
文件 717 2016-03-17 08:55 MulServer\bin\Client$5.class
文件 3586 2016-03-17 08:55 MulServer\bin\Client$MessageThread.class
文件 7757 2016-03-17 08:55 MulServer\bin\Client.class
文件 1464 2016-03-17 08:31 MulServer\bin\ClientLogin$1.class
文件 896 2016-03-17 08:31 MulServer\bin\ClientLogin$2.class
文件 3021 2016-03-17 08:31 MulServer\bin\ClientLogin.class
文件 19 2016-03-17 08:49 MulServer\bin\db.properties
文件 1348 2016-03-17 08:29 MulServer\bin\FileUtils.class
文件 706 2016-03-16 23:28 MulServer\bin\Server$1.class
文件 598 2016-03-16 23:28 MulServer\bin\Server$2.class
文件 601 2016-03-16 23:28 MulServer\bin\Server$3.class
文件 2414 2016-03-16 23:28 MulServer\bin\Server$4.class
文件 1671 2016-03-16 23:28 MulServer\bin\Server$5.class
文件 4481 2016-03-16 23:28 MulServer\bin\Server$ClientThread.class
文件 2918 2016-03-16 23:28 MulServer\bin\Server$ServerThread.class
文件 7744 2016-03-16 23:28 MulServer\bin\Server.class
文件 747 2016-03-16 21:56 MulServer\bin\User.class
文件 41069 2016-03-16 16:09 MulServer\image\biao.png
文件 10942 2016-03-17 08:55 MulServer\src\Client.java
文件 3287 2016-03-17 08:31 MulServer\src\ClientLogin.java
文件 19 2016-03-17 08:49 MulServer\src\db.properties
文件 1588 2016-03-17 08:29 MulServer\src\FileUtils.java
文件 13507 2016-03-16 23:28 MulServer\src\Server.java
............此处省略9个文件信息
- 上一篇:日程管理(Java)
- 下一篇:JAVA魔板游戏 课程设计报告
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论