📄 serverthread.java
字号:
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Vector;
import javax.swing.border.Border;
public class ServerThread extends Thread {
ServerSocket serverSocket;
public static final int PORT = 8765;
Vector<ClientThread> clients;
Vector<String> messages;
BroadCase broadCase;
String ip;
InetAddress myIpaddress = null;
public ServerThread() {
clients = new Vector<ClientThread>();
messages = new Vector<String>();
try {
serverSocket = new ServerSocket(PORT);
} catch (IOException e) {
}
try {
myIpaddress = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
}
ip = String.valueOf(myIpaddress);
Server.jTextArea1.append("服务器地址" + ip + ":"
+ String.valueOf(serverSocket.getLocalPort()) + "\n");
broadCase = new BroadCase(this);
broadCase.start();
}
public void run() {
while (true) {
try {
Socket socket = serverSocket.accept();
ClientThread clientThread = new ClientThread(socket, this);
clientThread.start();
if (socket != null) {
synchronized (clients) {
clients.addElement(clientThread);
}
}
} catch (IOException e) {
System.out.println("发生异常" + e);
System.out.println("建立客户端联机失败");
System.exit(2);// 这里应该不可以退出程序巴
}
}
}
public void finalize()
{
try {
serverSocket.close();
} catch (IOException e1) {
}
serverSocket = null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -