1. Socket socket = new Socket("127.0.0.1", "80");  
  2. OutputStream ossocket.getOutputStream();  
  3. InputStreamins = socket.getInputStream();  
  4. StringBuffer sb=new StringBuffer();  
  5. sb.append("GET /index.jsp HTTP/1.1rn");//注意rn为回车换行  
  6. sb.append("Accept-Language: zh-cnrn");  
  7. sb.append("Connection: Keep-Alivern");  
  8. sb.append("Host: 192.168.0.106rn");  
  9. sb.append("Content-Length: 37rn");  
  10. sb.append("rn");  
  11. sb.append("userName=new_andy&password=new_andyrn");  
  12. sb.append("rn");  
  13. //向Web服务器发送一个HTTP请求包  
  14. os.write(sb.toString().getBytes());  
  15. 服务器端的代码在大致结构为:  
  16. while (!shutdown) {  
  17. Socket socket = null;  
  18. try {socket = serverSocket.accept(); //等待客户以送HTTP协议请求包  
  19. // 创建HTTP请求包处理线程  
  20. RequestThread request = new RequestThread(socket);  
  21. request.start();  
  22. if(shutdown) System.exit(0);  
  23. }  
  24. catch (Exception e) {  
  25. e.printStackTrace();  
  26. } } 

RequestThread线程分析HTTP请求包,跟根据请求包内容在服务端生成一个HTTP应答包。下一节说明怎样分析HTTP包。

InputStreaminput = socket.getInputStream();//从此字节数据流获得HTTP请求包内容。

OutputStream output= socket.getOutputStream(); //向此字节流写入HTTP协议应答包内容。


相关内容