📄 server.java
字号:
package daen.graduate.trans;
import java.io.*;
import java.net.*;
import java.util.List;
public class Server extends Thread {
public Server() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public int port=5000;
public int maxThreadNum=10;
private ServerSocket checkServer = null;
private SocketThread socketThread = null;
private Socket aSocket = null;
private List socketPool; //socket连接池
private boolean serverRunning = false; //服务器是否运行
//构造函数
public Server(List socketPool) {
this.socketPool = socketPool;
}
public void run() {
serverRunning = true;
try {
checkServer = new ServerSocket(port);
checkServer.setSoTimeout(60000);
} catch (IOException ex) {
ex.printStackTrace();
}
while (serverRunning) {
try {
System.out.println("Started...");
aSocket = checkServer.accept();
System.out.println("client connected");
socketThread = new SocketThread(aSocket);
socketThread.start();
if(socketPool.size()>=maxThreadNum){
socketThread.stopThread();
}
else{
socketPool.add(socketThread);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
try {
checkServer.close();
} catch (IOException ex1) {
}
}
public void stopThread(){
serverRunning=false;
}
private void jbInit() throws Exception {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -