filetransporter.java
来自「一个仿qq的程序源码 一个用纯java开发的」· Java 代码 · 共 59 行
JAVA
59 行
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 + =
减小字号Ctrl + -
显示快捷键?