* 都要先跟以后的客户端通讯完之后才能再处置下一个衔接央求。 这在并发比较多的状况下会严重影响顺序的功用,
* 为此,我们可以把它改为如下这种异步处置与客户端通讯的方式
*/
// 每接纳到一个Socket就树立一个新的线程来处置它
new Thread(new Task(socket,wordUtil)).start();
}
}
/**
* 入口
* @param args
*/
public static void main(String[] args) {
try {
SocketService server = new SocketService(); // 启动效劳端
server.load();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 处置客户端传输过去的文件线程类
*/
public class Task implements Runnable {
@Override
public void run() {
System.out.println("===客户端衔接成功=====");
System.out.println("****************************************************************");
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 转换要求的格式
*/
try {
/********************************读取文件信息********************************/
dis = new DataInputStream(socket.getInputStream());
// 文件名和长度
String fileName = dis.readUTF();//1、文件名字
long fileLength = dis.readLong();//2、长度
String toext = dis.readUTF();//3、扩展名
String taskType=dis.readUTF();//4、文件操作类型
(责任编辑:admin)