package http; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; public class HttpServer { public void connection() throws IOException { int port = 10000; String url = "127.0.0.1"; InetSocketAddress address = InetSocketAddress.createUnresolved(url, port); ServerSocket server = new ServerSocket(port); //server.bind(address); while(true) { Socket socket = server.accept(); SocketThread connThread = new SocketThread(socket); connThread.start(); } } public static void main(String... args) throws IOException { HttpServer server = new HttpServer(); server.connection(); } } class SocketThread extends Thread{ private Socket socket; public SocketThread(Socket socket) { this.socket = socket; } @Override public void run() { try { InputStreamReader isr = new InputStreamReader(socket.getInputStream()); System.out.println("接收信息"); } catch (IOException e) { System.out.println("获得信息失败!"); e.printStackTrace(); } //while(isr.read()>0) PrintWriter pw; try { pw = new PrintWriter(socket.getOutputStream (), true); String protool = "HTTP/1.0"; String ContentType = "text/html"; String ContentLength; StringBuilder msg = new StringBuilder(); msg.append("<html>"); msg.append("<body>"); msg.append("</html>"); msg.append("<input type='button' id='name' name='name' value='Hello World!'>"); msg.append("</body>"); pw.write("HTTP/1.1 200 OK/r/n"); pw.write("Content-Type: text; charset=utf-8/r/n"); pw.write(("Content-Length: " + msg.length() + "/r/n")); pw.write("/r/n"); pw.write(msg.toString()); pw.flush(); //pw.close(); } catch (IOException e) { System.out.println("发送信息失败!"); e.printStackTrace(); } } }
一个Java Socket带多线程的http服务器
最新推荐文章于 2021-06-02 00:26:47 发布
本文介绍了一个简单的HTTP服务器的实现过程,使用Java语言创建了一个能够监听特定端口并响应客户端请求的基础HTTP服务器。服务器通过创建ServerSocket来监听指定端口,并为每个连接启动新的线程进行处理。对于每个客户端请求,服务器会返回一个包含HTML内容的基本响应。

5605

被折叠的 条评论
为什么被折叠?



