httpserver 第一个server代码模拟

1 server方法内分为三步骤,

start()   receive()  stop()

2 客户端就是浏览器,建立好服务端后在客户端中输入 ip:端口即可访问到

3 代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 创建服务器,并启动
 * @author Administrator
 在浏览器中输入  http://localhost:8888  可以在控制台打印浏览器请求过来的信息
 
 打印结果如下:
 GET / HTTP/1.1
Host: localhost:8888
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8

 */
public class Server {
	private ServerSocket server;
	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		Server server = new Server();
		server.start();
		
		
	}
	/**
	 * 启动方法
	 */
	public void start(){		
		try {
			server = new ServerSocket(8888);
			this.receive();
		} catch (IOException e) {
			e.printStackTrace();
		}
	
	}
	/**
	 * 接收客户端
	 */
	private void receive(){
		try {
			Socket client =server.accept();
			StringBuilder sb =new StringBuilder();
			String msg =null;
			
			BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
			
			while((msg=br.readLine()).length()>0){
				sb.append(msg);
				sb.append("\r\n");
				
			}
			//接收客户端的请求信息
			String requestInfo =sb.toString().trim();		
			System.out.println(requestInfo);
			
		} catch (IOException e) {
			//e.printStackTrace();
		}
	}
	
	/**
	 * 听着服务器
	 */
	public void stop(){
		
	}
	
	
}

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2404131