1000);
? ? ? ? Socket client=server.accept();
? ? ? ? PrintWriter out=new PrintWriter(client.getOutputStream(),true);
? ? ? ? BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
? ? ? ? String line=null;
? ? ? ? while((line=in.readLine())!=null)
? ? ? ? ? ? System.out.println(line);
? ? ? ? out.println("你好!");
? ? ? ? server.close();
? ? }
}
然后在利用浏览器访问,可以看到浏览器(客户端)发给服务器端的请求头数据为:
利用上述原理,我们可以自己编写类似IE的浏览器端(客户端)软件。首先在Tomcat的安装目录C:\apache-tomcat-7.0.62\webapps\myweb中添加一个demo.html资源,然后编写客户端,代码如下:
public class ClientDemo
{
? ? public static void main(String[] args) throws UnknownHostException, IOException
? ? {
? ? ? ? Socket s=new Socket("192.168.1.120",8080);
? ? ? ? PrintWriter out=new PrintWriter(s.getOutputStream(),true);
? ? ? ?
? ? ? ? //将请求头发给服务器
? ? ? ? out.println("GET /myweb/demo.html HTTP/1.1");
? ? ? ? out.println("Accept:*/*");
? ? ? ? out.println("Host: 192.168.1.120:11000");
? ? ? ? out.println("Connection: Keep-Alive");
? ? ? ?
? ? ? ? //输出空行,此步骤不可少
? ? ? ? out.println();
? ? ? ? BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
? ? ? ? String line=null;
? ? ? ? //返回服务器的响应文件
? ? ? ? while((line=in.readLine())!=null)
? ? ? ? {
? ? ? ? ? ? System.out.println(line);
? ? ? ? }
? ? ? ? s.close();
? ? }
}
接下来,启动Tomcat。即双击C:\apache-tomcat-7.0.62\bin中startup.bat文件。然后运行上述客户端代码,此时可以看到Tomacat返回的响应数据:
