资源简介
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魔板游戏 课程设计报告
相关资源
- JAVA魔板游戏 课程设计报告
- 日程管理(Java)
- java数据挖掘C4.5决策树的动态生成
- JAVA编写IC卡读写器
- Java Web开发流程图--适合刚学Web开发的
- Java 五子棋 毕业设计 毕业论文 全套一
- java课程设计ATM机图形用户代码
- Java 开发大全(基础)_源码
- Java 开发大全(基础篇)源码
- 码出高效 《阿里巴巴Java开发手册》(
- ftp上传文件及文件夹
- 毕业设计论文外文文献中英文翻译—
- DNS中继服务器的实现java版
- java+class文件加密保护
- leetcode 算法题 有答案java
- Java酒店管理系统数据库
- java连接oracle数据库完成查询,插入,
- 你画我猜源码
-
图书馆信息检索系统JAVA+xm
l - java混淆器 RetroGuard
- java在线英汉字典
- JAVA爬虫批量网页文件
- java真值表源代码
- 简易网上书店-JavaEE实验报告
- 敏感词库27000条代码实现敏感词过滤
- Java DeCompile最新版
- JAVA中GUI程序设计实现简单登陆和注册
- zip4j--Java操作zip压缩文件接口
- K-means聚类算法JAVA程序实现
- java文本编辑器记事本源代码
评论
共有 条评论