网络编程(自定义浏览器-Tomcat服务器)
来源:互联网 发布:调试spring源码 编辑:程序博客网 时间:2024/05/22 10:08
//一、获取客户端HTTP协议
//1、模拟http请求,先开启一个serverSocket服务,开启下面类Server.main()方法
//2、然后开启浏览器,输入http://127.0.0.1:10002
//在服务器窗口即打印出
//GET / HTTP/1.1
//Accept: */*
//Accept-Language: zh-cn
//User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.
//0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Cent
//er PC 6.0; .NET4.0C; .NET4.0E)
//Accept-Encoding: gzip, deflate
//Host: 127.0.0.1:10002
//Connection: Keep-Alive
import java.net.*;import java.io.*;class Server{public static void main(String[] args) throws Exception{final ServerSocket server = new ServerSocket(10002);while(true){final Socket socket = server.accept();new Thread(new Runnable(){public void run(){try{String ip = socket.getInetAddress().getHostAddress();System.out.println(ip + ".....connected");BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = null;while((line = br.readLine())!=null){System.out.println(line);}}catch (Exception e){e.printStackTrace();System.out.println("服务器有问题");}finally{System.out.println("finally");if(socket !=null)try{socket.close();}catch (Exception e){System.out.println("socket 关闭失败");}}}}).start();}}}
二、获取服务器返回的http协议
//1、开启本地的tomcat服务
//2、将下面Client2中第一句代码的端口改为 tomcat的端口,运行Client2的main()
//即可获取
/*
HTTP/1.1 505 HTTP Version Not Supported
Server: Apache-Coyote/1.1
Date: Mon, 26 May 2014 05:58:58 GMT
Connection: close
*/
class Client2{public static void main(String[] args) throws Exception{Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),10002);PrintWriter pw = new PrintWriter(socket.getOutputStream(),true);pw.println("#break");pw.println("GET / HTTP/1.1");pw.println("Accept: */*");pw.println("Accept-Language: zh-cn");pw.println("Accept-Encoding: gzip, deflate");pw.println("Host: 127.0.0.1:10002");pw.println("Connection: closed");pw.println();pw.println();pw.println("#break");BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = null;while((line = br.readLine())!=null){System.out.println(line);}socket.close();}}
//三、模拟http协议发送、与接收
//开启Server2 Client2 即模拟实现
class Server2{public static void main(String[] args) throws Exception{final ServerSocket server = new ServerSocket(10002);while(true){final Socket socket = server.accept();new Thread(new Runnable(){public void run(){try{String ip = socket.getInetAddress().getHostAddress();System.out.println(ip + ".....connected");BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = null;String breakPoint = br.readLine();while((line = br.readLine())!=null){if(breakPoint.equals(line))break;elseSystem.out.println(line);}PrintWriter pw = new PrintWriter(socket.getOutputStream(),true);pw.println("HTTP/1.1 505 HTTP Version Not Supported");pw.println("Server: Apache-Coyote/1.1");pw.println("Date: Mon, 26 May 2014 05:58:58 GMT");pw.println("Connection: close");}catch (Exception e){e.printStackTrace();System.out.println("服务器有问题");}finally{if(socket !=null)try{socket.close();}catch (Exception e){System.out.println("socket 关闭失败");}}}}).start();}}}
0 0
- 网络编程(自定义浏览器-Tomcat服务器)
- 网络编程--自定义浏览器
- Java基础-网络编程(自定义浏览器-Tomcat服务端)
- Java基础-网络编程(自定义图形界面浏览器-Tomcat服务端)
- Java基础24天--05--网络编程(浏览器客户端--Tomcat服务器)
- TCP-自定义浏览器连接到tomcat服务器
- TCP-自定义图形界面浏览器访问tomcat服务器
- 黑马程序员--基础--第二篇--网络编程自定义浏览器和服务器
- [C# 网络编程自定义Web浏览器
- C#网络编程系列:自定义Web浏览器
- 【24】网络编程2_TCP并发上传图片和登录,Tomcat服务器,自定义IE,域名解析
- [C# 网络编程 自定义Web服务器
- C#网络编程系列:自定义Web服务器
- UE4之网络编程--连接自定义服务器
- Java基础24天--04--网络编程(浏览器客户端--自定义服务端)
- [C# 网络编程系列]专题四:自定义Web浏览器
- C#网络编程系列四:自定义Web浏览器
- C#网络编程系列四:自定义Web浏览器
- 载:java串口编程
- Scripts:查看表的列上的统计信息col_stats.sql
- 闫妮胡歌一吻情深
- 神奇的C语言四:typedef的使用
- Effective C++ Item 22 将成员变量声明为private
- 网络编程(自定义浏览器-Tomcat服务器)
- [C/C++]函数调用栈和栈帧
- 省赛总结
- 黑马程序员—JAVA基础之String、StringBuffer
- Android OBB文件和StorageManager类
- 使用inlcude把一个布局插入到另一个布局中去
- 派生类的构造函数、对象的初始化
- 你为何需要iPhone6?
- TI C6000 优化 startup guide