⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.java

📁 这是一个能够实现文件传输的用java开发的源程序
💻 JAVA
字号:
package daen.graduate.trans;

import java.io.*;
import java.net.*;
import java.util.List;

public class Server extends Thread {
    public Server() {
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public int port=5000;
    public int maxThreadNum=10;
    private ServerSocket checkServer = null;
    private SocketThread socketThread = null;
    private Socket aSocket = null;
    private List socketPool; //socket连接池
    private boolean serverRunning = false; //服务器是否运行

    //构造函数
    public Server(List socketPool) {
        this.socketPool = socketPool;
    }

    public void run() {
       serverRunning = true;
        try {
            checkServer = new ServerSocket(port);
            checkServer.setSoTimeout(60000);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        while (serverRunning) {
                try {
                    System.out.println("Started...");
                    aSocket = checkServer.accept();
                    System.out.println("client connected");
                    socketThread = new SocketThread(aSocket);
                    socketThread.start();
                    if(socketPool.size()>=maxThreadNum){
                        socketThread.stopThread();
                    }
                    else{
                        socketPool.add(socketThread);
                    }
                }
                catch (Exception ex) {
                    ex.printStackTrace();
                }
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }
        try {
            checkServer.close();
        } catch (IOException ex1) {
        }
    }

    public void stopThread(){
        serverRunning=false;
    }

    private void jbInit() throws Exception {
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -