資源簡介
這款一對一通訊小軟件是基于JDK1.6開發環境設計的簡單Java應用小程序。此程序用于實現局域網內一對一的通信功能,采用客戶/服務器摸式,服務器與客戶端之間采用套接口Socket(TCP)進行連接,服務器監聽客戶端的連接請求,客戶通過Socket(IP,port8899)建立與服務器的連接。通過簡單的兩個對話窗口,但把類似QQ,飛信等通信軟件的基本要求完成,只需要連通局域網,便可以進行簡單通訊。在設計之初,應用了剛學的Java知識,同時通過自學和借鑒相應文檔,把軟件完善并人性化。

代碼片段和文件信息
//一對一通訊小軟件客戶端
import?java.awt.*;
import?java.awt.event.*;
import?java.io.*;
import?java.net.*;
import?javax.swing.*;
public?class?ChatClient?extends?Jframe?implements?ActionListener{
private?JPanel?jContentPane?=?null;
private?JPanel?jPanel?=?null;
private?JTextField?jTextField?=?null;
private?JButton?jButton?=?null;
private?JTextArea?jTextArea?=?null;
private?Socket?soc?=?null;
private?BufferedReader?br?=?null;
private?BufferedWriter?bw?=?null;
private?JScrollPane?jScrollPane?=?null;
//?此方法建立并初始化jPanel,并返回javax.swing.JPanel
private?JPanel?getJPanel()?{
???if?(jPanel?==?null)?{
????jPanel?=?new?JPanel();
????jPanel.setLayout(new?FlowLayout());
????jPanel.add(getJTextField()?null);
????jPanel.add(getJButton()?null);
???}
???return?jPanel;
}
//?此方法建立并初始化jTextField,并返回javax.swing.JTextField
private?JTextField?getJTextField()?{
???if?(jTextField?==?null)?{
????jTextField?=?new?JTextField();
????jTextField.setPreferredSize(new?Dimension(300?22));
????jTextField.addActionListener(this);
???}
???return?jTextField;
}
//?此方法建立并初始化jButton,并返回javax.swing.JButton
private?JButton?getJButton()?{
???if?(jButton?==?null)?{
????jButton?=?new?JButton();
????jButton.setPreferredSize(new?Dimension(80?22));
????jButton.setText(“發送“);
????jButton.addActionListener(this);
???}
???return?jButton;
}
//?此方法建立并初始化jTextArea,并返回javax.swing.JTextArea
private?JTextArea?getJTextArea()?{
???if?(jTextArea?==?null)?{
????jTextArea?=?new?JTextArea();
????jTextArea.setEditable(false);
???}
???return?jTextArea;
}
//?此方法建立并初始化jScrollPane,并返回javax.swing.JScrollPane
private?JScrollPane?getJScrollPane()?{
???if?(jScrollPane?==?null)?{
????jScrollPane?=?new?JScrollPane();
????jScrollPane.setViewportView(getJTextArea());
???}
???return?jScrollPane;
}
//?main?方法
public?static?void?main(String[]?args)?{
???//?自動生成方法存根
?????String?setIP?=?JOptionPane.showInputDialog(“請輸入通訊的服務器IP“);
?????ChatClient?thisClass?=?new?ChatClient();
?????thisClass.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
?????thisClass.setVisible(true);
?????thisClass.run(setIP);
}
//?構造函數
public?ChatClient()?{
???super();
???initialize();
}
//?此方法初始化thisClass,程序的屆面
private?void?initialize()?{
???this.setSize(450?250);
???this.setContentPane(getJContentPane());
???this.settitle(“一對一通訊客戶端“);
}
//?以下為通訊部分的run方法
private?void?run(String?setIP)?{
???try{
????soc?=?new?Socket(?setIP?8899);
???while?(true)?{
????try?{
?????br?=?new?BufferedReader(new?InputStreamReader(soc
???????.getInputStream()));
?????bw?=?new?BufferedWriter(new?OutputStreamWriter(soc
???????.getOutputStream()));
?????String?message?=?““;
?????while?(!((message?=?br.readLine()).equals(“bye“)))?{
??????jTextArea.append(“\n“?+?message);
??????jTextArea.setCaretPosition(jTextArea.getText().length());
?????}
????}?catch?(IOException?eee)?{
?????eee.printStackTrace();
????}?finally?{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4629??2010-10-21?17:40??Java局域網一對一通訊小軟件\java源碼\ChatServer.java
?????文件???????4264??2010-10-21?17:27??Java局域網一對一通訊小軟件\java源碼\ChatClient.java
?????文件?????134656??2013-11-22?20:12??Java局域網一對一通訊小軟件\一對一通訊小軟件說明書.doc
?????目錄??????????0??2010-10-24?06:24??Java局域網一對一通訊小軟件\java源碼
?????目錄??????????0??2010-10-23?22:09??Java局域網一對一通訊小軟件
-----------?---------??----------?-----??----
???????????????143549????????????????????5
- 上一篇:網絡版五子棋純java
- 下一篇:appcompat-v7-26.1.0.jar
評論
共有 條評論