package server; import java.awt.Label; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.HashMap; import java.util.Map; import model.FileLog; import thread.DownThread; import thread.MouseThread; import thread.ServerThread; import thread.UpThread; /** * 与客户端连接的查询server * * @author 赵庆洋 * */ public class ConnectServer { private static ServerSocket serverSocket; private static ServerSocket downSocket; private static ServerSocket upSocket; private static ServerSocket mouseSocket; private static final int port = 8624; private static final int down_port = 8625; private static final int up_port = 8626; public final static int PC_MOUSE_CON = 8627; private Label label; // 存放断点数据,最好改为数据库存放 private Map<Long, FileLog> datas = new HashMap<Long, FileLog>(); public ConnectServer() throws IOException { serverSocket = new ServerSocket(port); downSocket = new ServerSocket(down_port); upSocket = new ServerSocket(up_port); mouseSocket = new ServerSocket(PC_MOUSE_CON); datas = new HashMap<Long, FileLog>(); System.out.println("服务器连接启动."); } public void setLabel(Label label) { this.label = label; } /** * 开始服务 * * @throws IOException */ public void service() throws IOException { new Thread(new Runnable() { @Override public void run() { while (true) { System.out.println("查询服务器正在等待连接..."); Socket socket; try { socket = serverSocket.accept(); label.setText("The user connection is successful."); new Thread(new ServerThread(socket)).start(); } catch (IOException e) { e.printStackTrace(); } } } }).start(); new Thread(new Runnable() { @Override public void run() { while (true) { System.out.println("下载服务器正在等待连接..."); Socket socket; try { socket = downSocket.accept(); new DownThread(socket).start(); } catch (IOException e) { e.printStackTrace(); } } } }).start(); new Thread(new Runnable() { @Override public void run() { while (true) { System.out.println("上传服务器正在等待连接..."); Socket socket; try { socket = upSocket.accept(); new UpThread(socket, datas).start(); } catch (IOException e) { e.printStackTrace(); } } } }).start(); new Thread(new Runnable() { @Override public void run() { while (true) { System.out.println("鼠标控制服务器正在等待连接..."); Socket socket; try { socket = mouseSocket.accept(); new MouseThread(socket).start(); } catch (IOException e) { e.printStackTrace(); } } } }).start(); } }