📄 serverlisten.java
字号:
package control;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.*;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import model.Node;
public class ServerListen extends Thread {
ServerSocket server;
JComboBox comboBox;
JTextArea textArea;
JLabel jlabel;
UserLinkList userLinkList;
Node client;
ServerReceive recvThread;
public boolean isStop;
public ServerListen(ServerSocket server, JComboBox comboBox,
JTextArea textArea, JLabel jlabel, UserLinkList userLinkList) {
this.server = server;
this.comboBox = comboBox;
this.textArea = textArea;
this.jlabel = jlabel;
this.userLinkList = userLinkList;
this.isStop = false;
}
public void run() {
while (!isStop && !server.isClosed()) {
try {
client = new Node();
client.socket = server.accept();
client.output = new ObjectOutputStream(client.socket
.getOutputStream());
client.output.flush();
client.input = new ObjectInputStream(client.socket
.getInputStream());
client.username = (String) client.input.readObject();
comboBox.addItem(client.username);
userLinkList.addUser(client);
textArea.append("用户" + client.username + "上线" + "\n");
jlabel.setText(userLinkList.getCount() + "人" + "\n");
recvThread = new ServerReceive(textArea, jlabel, comboBox,
client, userLinkList);
recvThread.start();
} catch (Exception e) {
// TODO: handle exception
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -