客户端
public class RoomClient01 implements ActionListener {
static TextArea textArea;
static TextField textField;
static Button send;
static String toServer;
static DataInputStream dataInputStream;
static DataOutputStream dataOutputStream;
Socket socket;
public RoomClient01(Socket socket) {
this.socket = socket;
}
public void createUI () throws IOException {
Frame f = new Frame("客户端");
textArea = new TextArea();
textField = new TextField();
send = new Button("send");
send.addActionListener(this);
Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(textField, "Center");
p.add(send, "East");
f.add(textArea, "Center");
f.add(p, "South");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setSize(400, 400);
f.setLocation(600, 0);
f.setVisible(true);
connect();
}
public void connect() throws IOException {
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
while(true) {
String string = dataInputStream.readUTF();
textArea.append("服务>>"+string+"\n");
}
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source==send) {
toServer=textField.getText();
try {
textArea.append("客户>>"+toServer+"\n");
dataOutputStream.writeUTF(toServer);
dataOutputStream.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 5551);
RoomClient01 roomClient01 = new RoomClient01(socket);
roomClient01.createUI();
}
}
服务端
public class RoomServer01 implements ActionListener{
static TextArea textArea;
static TextField textField;
static String fromclient;
static Button send;
static DataInputStream dataInputStream;
static DataOutputStream dataOutputStream;
ServerSocket serverSocket;
public void createUI () throws IOException {
Frame f = new Frame("服务端");
textArea = new TextArea();
textField = new TextField();
send = new Button("send");
send.addActionListener(this);
Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(textField, "Center");
p.add(send, "East");
f.add(textArea, "Center");
f.add(p, "South");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setSize(400, 400);
f.setLocation(600, 0);
f.setVisible(true);
connect();
}
public RoomServer01(ServerSocket serverSocket) {
this.serverSocket = serverSocket;
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source==send) {
String toclient = textField.getText();
textArea.append("服务>>"+toclient);
try {
dataOutputStream.writeUTF(toclient);
dataOutputStream.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public void connect() throws IOException{
Socket socket = serverSocket.accept();
dataInputStream = new DataInputStream(socket.getInputStream());
dataOutputStream = new DataOutputStream(socket.getOutputStream());
while(true) {
String string = dataInputStream.readUTF();
textArea.append("客户>>"+string+"\n");
}
}
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(5551);
RoomServer01 roomServer01 = new RoomServer01(serverSocket);
roomServer01.createUI();
}
}