server端
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
DataInputStream c = null;
String str = null;
public void Lunch(){
ServerSocket ss = null;
Socket s =null;
try {
ss = new ServerSocket(5656);
} catch (IOException e1) {
e1.printStackTrace();
}try {
while(true){
s = ss.accept();
System.out.println("新的客户端已经连接");
Client a = new Client(s);
new Thread(a).start();
}
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}}
class Client implements Runnable{
private Socket s;
Client(Socket s){
this.s = s;
try {
c = new DataInputStream(s.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
try {
while(true){
str = c.readUTF();
System.out.println(str);}
}
catch (IOException e) {
System.out.println("已断开连接");
}
finally{
try {
if(c != null) c.close();
if(s !=null) s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}}
public static void main(String[] args) {
new Server().Lunch();}}client端
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.Socket;
import java.io.*;public class Client {
DataOutputStream c = null;
TextField t1 = new TextField();
TextArea t2 = new TextArea();
Frame a = new Frame();
String str = null;
Socket s = null;
TextLister tt = new TextLister();
public void add(){
a.add(t1 , "South");
a.add(t2 , "North");
a.pack();
}
public void close(){
a.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
try {
s.close();
c.close();
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
});
}
public void addText(){
t1.addActionListener(tt);
}
public void Lunch(){
this.add();
this.close();
this.addText();
a.setVisible(true);
}
class TextLister implements ActionListener{public void actionPerformed(ActionEvent e) {
try {
s = new Socket("127.0.0.1" , 5656);
c = new DataOutputStream(s.getOutputStream());
} catch (IOException e1) {
System.out.println("找不到服务器");
}
str = t1.getText();
t2.setText(str);
try {
c.writeUTF(str);
c.flush();
} catch (IOException e1) {
System.out.println("服务器无法接受");
}
t1.setText("");
}
}
public static void main(String[] args) {
new Client().Lunch();
}
}