50,530
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class CSTEST {
public static void main(String args[]){
JFrame f1=new JFrame("服务器");
f1.setBounds(100,100,500,500);
JTextArea area1=new JTextArea();
JPanel p1=new JPanel();
JButton button1=new JButton("发送");
button1.addActionListener(new Mishu(area1));
p1.add(button1);
f1.add(area1);
f1.add(p1,BorderLayout.SOUTH);
f1.setVisible(true);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFrame f2=new JFrame("客户端");
f2.setBounds(100,100,500,500);
JTextArea area2=new JTextArea();
JPanel p2=new JPanel();
JButton button2=new JButton("发送");
p2.add(button2);
f2.add(area2);
f2.add(p2,BorderLayout.SOUTH);
f2.setVisible(true);
f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button2.addActionListener(new Mishu2(area2));
}
}
class Mishu implements ActionListener{
JTextArea taa;
Mishu(JTextArea ta){
taa=ta;
}
public void actionPerformed(ActionEvent e){
ServerSocket se=null;
Socket soc=null;
DataInputStream in=null;
DataOutputStream out=null;
try {
se=new ServerSocket(2010);
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
try {
//taa.append("等待客户呼叫 !");
soc=se.accept();
out=new DataOutputStream(soc.getOutputStream());
in=new DataInputStream(soc.getInputStream());
String s=in.readUTF();
taa.append(s);
out.writeUTF(taa.getText());
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
taa.append("客户已断开");
}
}
}
class Mishu2 implements ActionListener{
JTextArea taa;
Mishu2(JTextArea ta){
taa=ta;
}
public void actionPerformed(ActionEvent e){
Socket mysocket;
DataInputStream in=null;
DataOutputStream out=null;
try {
String ip=InetAddress.getLocalHost().getHostAddress();
mysocket=new Socket(ip,2010);
in =new DataInputStream(mysocket.getInputStream());
out=new DataOutputStream(mysocket.getOutputStream());
out.writeUTF(taa.getText());
String s=in.readUTF();
taa.append(s);
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
}
}
}