一个Java Socket带多线程的http服务器

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(); } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值