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

📄 server.java

📁 用java语言编写的一个http协议的socket实现
💻 JAVA
字号:
package webserver;

import java.net.*;
import java.io.*;

/**
 * web单线程的服务器,在此服务器中一次只能接受一个命令请求;
 * @author Crise.Lee
 * @version 1.0
 */
public class Server {
	static String fileroot;
	ServerSocket server;
	int port;
	
	/**
	 * 单线程服务器的构造函数,完成接受客户的请求并且调用响应的操作处理客户的请求
	 */
	public Server()
	{
		Boolean goon=true;
		System.out.println("*************************************************");
		System.out.println("******       Starting the web server       ****** ");
		System.out.println("*************************************************");
		ServerSocket ssocket = null;
		try {
			ssocket = new ServerSocket(9999);
			while(goon)
			{
				goon=false;
				try {
					System.out.println("*************************************************");
					System.out.println("*****        The web server reading         *****");
					System.out.println("*****        Waiting a request.....         *****");
					System.out.println("*************************************************");
					Socket accept=ssocket.accept();
					Thread handle=new Thread(new Handler(accept,fileroot));
					handle.start();
					
					//睡眠5秒等待请求的处理
					try {
						Thread.sleep(15*1000);
					} catch (InterruptedException e) {
						System.err.println("错误原因:服务器线程睡眠错误。");
						e.printStackTrace();
					}
					accept.close();
					
				} catch (IOException e) {
					System.err.println("错误原因:服务器接受请求错误,服务器关闭。");
					//e.printStackTrace();
				}finally
				{
					goon=true;
				}
			}
		} 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 Server();
	}

}

⌨️ 快捷键说明

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