📄 listenthread.java
字号:
package com.softfz.jn0708.thread;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.Set;
import com.softfz.jn0708.main.manager.ManagerPanel;
/**
* 服务器监听线程
* @author admin
*
*/
public class ListenThread extends Thread{
private ManagerPanel managerpanel;
private ServerSocket serverSocket;
private Socket clientSocket;
private Set totalThread = null;
private ServerReceiveThread receivethread;
private boolean isTag=false;
/**
* 构造
* @param managerpanel 管理面板
* @param serverSocket 服务socket
* @param totalThread 保存线程的hashset
*/
public ListenThread(ManagerPanel managerpanel, ServerSocket serverSocket,Set totalThread) {
super();
// TODO 自动生成构造函数存根
this.managerpanel = managerpanel;
this.serverSocket = serverSocket;
this.totalThread = totalThread;
}
/**
* 线程的run()方法
*/
public void run() {
while (!isTag){
try {
clientSocket=serverSocket.accept();
receivethread = new ServerReceiveThread(clientSocket,managerpanel,totalThread);
receivethread.start();
Thread.sleep(100);
}catch (SocketException e){
this.setTag(true);
}catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
/**
* 获取服务线程
* @return
*/
public ServerReceiveThread getReceivethread() {
return receivethread;
}
/**
* 设置线程循环的变量
* @param isTag
*/
public void setTag(boolean isTag) {
this.isTag = isTag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -