您的位置:首页 > 理论基础 > 计算机网络

用Java socket (TCP通信模型)实现一个简单的web 服务器

2016-10-17 09:45 981 查看
package cn.magicdu.think.socket;

import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

/**
* Http 处理线程
* @author xiaoduc
*
*/
public class HttpThread extends Thread {

private Socket socket;//连接点

public HttpThread(Socket socket) {
super();
this.socket=socket;
}

@Override
public void run() {
try {
OutputStream os=socket.getOutputStream();//获得输出流
PrintWriter pw=new PrintWriter(os);//创建PrintWriter 对象
//往输出流写入内容
pw.println("<html>");
pw.println("<body>");
pw.println("hello it's me!!");
pw.println("</body>");
pw.println("</html>");
pw.flush();//清空缓存
pw.close();//关闭输出流
socket.close();//关闭socket
} catch (Exception e) {
e.printStackTrace();
}
}
}


package cn.magicdu.think.socket;

import java.net.ServerSocket;
import java.net.Socket;

/**
* web 服务端
* @author xiaoduc
*
*/
public class WebServer {

public static void main(String[] args) throws Exception{
//用端口号创建一个ServerSocket对象,监听8081端口
ServerSocket ss=new ServerSocket(8081);
//开始循环监听来自客户端的请求
Socket s=null;
while((s=ss.accept())!=null){
new HttpThread(s).start(); //开始一个新的线程
}
ss.close();
}
}


运行结果: 在浏览器输入 http:// localhost:8081

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: