控制台可以看出,每个用户分配一个线程,客户端发送消息,服务器收到消息并且如果成功则回执“接收成功”。
否则回执失败。
Client.java
package thread;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.*;
import java.net.Socket;
public class Client extends JFrame
{
static Client ui;
private JButton st, ex; //按钮
private static JTextArea text, mes;
public Client()
{
super("Client");
setSize(670, 300);
setLocationRelativeTo(null);//居中
draw();
}
public void draw()
{
setLayout(null);
JLabel name = new JLabel("主机:127.0.0.1", JLabel.CENTER);
name.setFont(new Font("隶书", Font.PLAIN, 20));
name.setBounds(0, 0, 200, 50);
JLabel port = new JLabel("端口号:9999", JLabel.CENTER);
port.setFont(new Font("隶书", Font.PLAIN, 20));
port.setBounds(200, 0, 120, 50);
JLabel send = new JLabel("消息", JLabel.CENTER);
send.setFont(new Font("隶书", Font.PLAIN, 20));
send.setBounds(150, 50, 120, 50);
JLabel rec = new JLabel("服务器回执", JLabel.CENTER);
rec.setFont(new Font("隶书", Font.PLAIN, 20));
rec.setBounds(480, 50, 120, 50);
st = new JButton("发送");
st.setFont(new Font("隶书", Font.PLAIN, 20));
st.setForeground(Color.BLACK);
st.setBackground(Color.YELLOW);
st.setBorderPainted(false);
ex = new JButton("退出");
ex.setFont(new Font("隶书", Font.PLAIN, 20));
ex