📄 filetransporter.java
字号:
package qianqian.p2pchat.filetrans;
import java.net.ServerSocket;
import qianqian.p2pchat.constant.Const;
public class FileTransporter extends Thread {
private static FileTransporter transporter;
private java.net.ServerSocket sSocket;
private java.net.Socket socket;
private FileTransporter() {
try {
sSocket = new ServerSocket(Const.FilePort);
} catch (Exception e) {
e.printStackTrace();
}
start();
}
public static FileTransporter getInstance() {
if (transporter == null) {
synchronized(FileTransporter.class) {
if(transporter == null)
transporter = new FileTransporter();
}
}
return transporter;
}
public void closeTransporter() {
interrupt();
try {
if (sSocket != null && !sSocket.isClosed())
sSocket.close();
} catch (Exception e) {
}
transporter = null;
}
public void run() {
int count = 0;
while (!isInterrupted()) {
try {
synchronized (transporter) {
socket = sSocket.accept();
++count;
new SendfileThread(socket).start();
}
} catch (Exception e) {
if (count < Const.FileConSize)
continue;
else
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -