Java实现一个简易HTTP服务器-- socket

Posted 臭蛋1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现一个简易HTTP服务器-- socket相关的知识,希望对你有一定的参考价值。

Java实现一个简易HTTP服务器(一)-- socket

-----2019-9-29----------

public class Server {

	public static void main(String[] args) throws IOException {
		ServerSocket serverSocket = new ServerSocket(89);
		System.out.println("Server started at " + new Date() + "\n");
		while (true) {
			// 通信socket的获得
			Socket socket = serverSocket.accept();
			System.out.println("client connected...");
			
			//读取数据
			InputStream in = socket.getInputStream();
			byte[] b = new byte[512];
			int len = in.read(b);
			String s = new String(b, 0, len);
			System.out.println("" + socket.getInetAddress() + " " + socket.getPort());
			System.out.println(s);

			//返回数据
			String res = "HTTP/1.1 200 OK\r\n" +
                        "Content-Type: text/html\r\n" + 
                        "\r\n" + 
                        "<html>\r\n" + 
                        "<head>\r\n"+ 
                        "<title>HTTP Server</title>\r\n" + 
                        "</head>\r\n" + 
                        "<body>\r\n" + 
                        "Hello HTTP!\r\n"+ 
                        "</body>\r\n" + 
                        "</html>";
			OutputStream out = socket.getOutputStream();
			out.write(res.getBytes());
			
			//关闭连接,会将in和out一起关闭
			socket.close();
			System.out.println("connection closed...");
			System.out.println();
		}
		serverSocket.close();//ide会报错无法执行到这一行,注释掉就行

	}
}

以上是关于Java实现一个简易HTTP服务器-- socket的主要内容,如果未能解决你的问题,请参考以下文章

Java实现一个简易HTTP服务器

在 Java 中使用 HTTP 代理作为 SOCKS

C 实现一个简易的Http服务器

java实现socks5代理功能的客户端,模拟浏览器进行HTTP POST提交

网络编程之java简易聊天室实现

Java:SSH 隧道 - 将本地 SOCKS 设置为侦听器