网络编程
UDP(面向无连接,不可靠,速度快)---发送端,接收端。DatagramSocket --- DatagramPacket(数据包)
UDP(面向无连接,不可靠,速度快)---发送端,接收端。DatagramSocket --- DatagramPacket(数据包)
TCP的传输:上传。问题:两端等待的情况。说明有阻塞式方法。没有读取到结束标记。shutdown
web原理:并发访问。 server端:将来访的客户端都封装到了一个单独线程中。
SereverSocket server = new ServerSocket(10000)
while(true)
{
Socket s = server.accept();
new Thread(new Tack(s)).start();
}
SereverSocket server = new ServerSocket(10000)
while(true)
{
Socket s = server.accept();
new Thread(new Tack(s)).start();
}
--------------------------------------
常见的客户端和服务端有哪些呢?
客户端:浏览器。
服务端:Tomcat
如果请求多图片的网页,请求的次数很多,有多少资源(html文件,图片文件,css文件,js文件等),就需要请求多少次
浏览器中当然也是内容如socket一样的客户端程序
用java模拟:Socket s = new Socket("192.168.1.253",8080);
可是浏览器到底向服务器发送了什么样的请求呢?
怎么验证?将tomcat服务器换掉,自定义一个服务器接收浏览器的发送的数据
这样知道浏览器发送的是什么。
用java模拟:Socket s = new Socket("192.168.1.253",8080);
可是浏览器到底向服务器发送了什么样的请求呢?
怎么验证?将tomcat服务器换掉,自定义一个服务器接收浏览器的发送的数据
这样知道浏览器发送的是什么。
1.自定义服务器。浏览器给服务器发送的请求消息如下。
HTTP协议的请求头消息。
GET / HTTP/1.1 //请求行。 请求方式 请求的资源路径 http协议版本
请求消息中的属性信息。
。。。
。。。。
。。。。。
空行
//请求体
HTTP协议的请求头消息。
GET / HTTP/1.1 //请求行。 请求方式 请求的资源路径 http协议版本
请求消息中的属性信息。
。。。
。。。。
。。。。。
空行
//请求体
------------------
演示模拟浏览器
获取tomcat的信息
HTTP的应答(响应)头信息
HTTP/1.1 200 ok //应答行。 http协议版本 应答状态码 应答描述信息 注:404 NOT Found
应答的属性信息。
。。。
。。。。
。。。。。
空行
应答体。
-------------------
应答的属性信息。
。。。
。。。。
。。。。。
空行
应答体。
-------------------
网络框架:
两种:
C/S Client Server
特点:
1.客户端和服务端都需要编写。
2.客户端需要维护。
3.客户端可以分担部分运算。
如大型运算,比如网络游戏:3D建模,地图等数据都在本地。
B/S Browser Server
特点;
1.只需要编写服务端。客户端其实就是已有的浏览器。
2.客户端不需要维护的。
3,运算全在服务器端。
两种:
C/S Client Server
特点:
1.客户端和服务端都需要编写。
2.客户端需要维护。
3.客户端可以分担部分运算。
如大型运算,比如网络游戏:3D建模,地图等数据都在本地。
B/S Browser Server
特点;
1.只需要编写服务端。客户端其实就是已有的浏览器。
2.客户端不需要维护的。
3,运算全在服务器端。