資源簡介
java實現(xiàn)socket編程網(wǎng)絡(luò)通信多人聊天室,可以實現(xiàn)簡單的多人聊天功能。適合初學的大二,大三學生,學習。

代碼片段和文件信息
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();
}
//?執(zhí)行發(fā)送
public?void?send()?{
if?(!isConnected)?{
JOptionPane.showMessageDialog(frame?“還沒有連接服務(wù)器,無法發(fā)送消息!“?“錯誤“
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);
}
//?構(gòu)造方法
public?Client()?{
textArea?=?new?JTextArea();
textArea.setEditable(false);
textArea.setForeground(Color.blue);
textField?=?new?JTextField();
txt_port?=?new?JTextField(““);??????????????????//設(shè)置端口號和
txt_hostIp?=?new?JTextField(“127.0.0.1“);
txt_name?=?new?JTextField(““);
btn_start?=?new?JButton(“連接“);
btn_stop?=?new?JButton(“斷開“);
btn_send?=?new?JButton(“發(fā)送“);
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(“服務(wù)器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魔板游戲 課程設(shè)計報告
評論
共有 條評論