📄 threadedserver.java
字号:
package webserver;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 多线程的服务器,此服务器一次可以处理多个客户请求;
* @author Crise.Lee
* @version 1.0
*/
public class ThreadedServer
{
static String fileroot;
ServerSocket server;
int port;
/**
* 多线程服务器的构造函数,完成接受客户的请求并且调用响应的操作处理客户的请求
*/
public ThreadedServer()
{
System.out.println("*************************************************");
System.out.println("****** Starting the web server ******");
System.out.println("*************************************************");
ServerSocket ssocket = null;
try {
ssocket = new ServerSocket(8888);
for(;;)
{
System.out.println("*************************************************");
System.out.println("***** The web server reading *****");
System.out.println("***** Waiting a request..... *****");
System.out.println("*************************************************");
Socket accept=ssocket.accept();
new Thread(new Handler(accept,fileroot)).start();
}
} catch (IOException e1) {
System.err.println("错误原因:服务器初始化错误。");
//e1.printStackTrace();
}finally
{
try { //关闭服务器套接字
ssocket.close();
} catch (IOException e) {
System.out.println("错误原因:服务器套接字关闭出错。");
//e.printStackTrace();
}
}
}
/**
* 入口函数;
* @param args 出入的参数列表
*/
public static void main(String[] args)
{
if(args.length!=0)
fileroot=args[0];
else
fileroot="D:\\";
new ThreadedServer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -