GetMessage.jav a 服务端: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; import javax.swing.JLabel; import javax.swing.JTextArea; public class GetMessage extends Thread{ private int i; String v; JLabel label=null; private JTextArea text; public GetMessage(int i,JTextArea text) { this.i=i; this.text=text; } public void run(){ try { ServerSocket so = new ServerSocket(i); Socket s = so.accept(); while(true){ InputStreamReader i = new InputStreamReader(s.getInputStream()); BufferedReader b = new BufferedReader(i); v= b.readLine(); text.append("对方说"+v+"\n"); } } catch (IOException e) { //label.setText("对方已经下线"); text.append("对方下线了。。。"); } } } SendMessage.java 客户端: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostException; import javax.swing.JLabel; import javax.swing.JTextArea; import javax.swing.JTextField; public class SendMessage extends Thread { private String ip; private int i; Socket s = null; JLabel label=null; JTextField text; JTextArea text1; public SendMessage(String ip,int i,JTextArea text1) { // TODO Auto-generated constructor stub this.ip=ip; this.i=i; this.text1=text1; } public void run(){ while(true){ try { s = new Socket(ip,i); text1.setText("连接成功"+"\n"); break; } catch (Exception e) { try { Thread.sleep(1000); } catch (InterruptedException e1) { System.out.println("出错了。。。。"); } } } } public void send(String message) { try { PrintStream p = new PrintStream(s.getOutputStream()); p.println(message); } catch (Exception e1) { System.out.println("异常"+e1.getMessage()); } } } Test.jav a 简单...