网络编程: 基础java编程代码
1,网络模型:7层--->4层。
重点学习:传输层。
2,网络通讯的要素:
1,ip:用于标识网络中主机的数字标识。
2,端口:用于表示应用程序的数字标识。
3,传输协议:用进行数据传输的规则 ,常见有两种 TCP UDP;
TCP和UDP的区别:
TCP: 面向连接(通过三次握手完成) 速度稍慢,可靠。
UDP: 面向无连接,速度快,不可靠。
3,实现UDP的通信。
udp传输涉及的两个对象。
DatagramSocket:udp socket端点。 即可以发送,又可以接收。
DatagramPacket:数据包对象。
分两端:发送端,接收端。
注意:接收端一定要明确端口。
案例一:udp群聊。
4,TCP传输:客户端,服务端。
注意:客户端要明确服务端的ip+端口。
服务端需要明确端口。
而且服务端和客户端通信是通过accept方法获取客户端对象来完成。
案例二:实现客户端和服务端交互。
频繁的客户端和服务端的通信。
需求:客户端通过键盘录入发送数据到服务端,服务端将接收到的数据显示到屏幕上的同时,将这些数据转成大写发回给客户端。
当客户端录入的是over时,大写转换结束。
客户端:
思路:
1,创建socket,明确地址和端口。
2,源:键盘录入。获取需要转换的数据。
3,目的:网络,socket输出流。将录入的数据发送到服务端。
4,源:socket,socket读取流,读取服务端发回来的大写数据。
5,目的:客户端显示器,将大写数据显示出来。
6,频繁的读写操作。
7,关闭资源。
服务端:
思路:
1,创建服务端socket 明确端口。
2,源:socket输入流。读取客户端的发过来的数据。
3,目的:socket输出流。将转成大写的数据发送给客户端。
4,频繁的读写操作。
5,关闭客户端。
案例三:上传图片。通过字节流。
-------------------------------------
最常见的客户端和服务端:
客户端:浏览器。
服务端:Tomcat。
演示一:
客户端:浏览器。
服务端:Tomcat6.0
访问方式:
浏览器中:输入http://192.168.1.223:8080/自己的应用程序名称/具体的资源名称
演示二:
了解浏览器都做了什么事情呢?
客户端:浏览器。
服务端:自定义的服务端 myServer
看到了如下信息:
HTTP的请求消息:请求头+请求体,中间有空行。
GET /myweb/1.html HTTP/1.1 // 请求行:请求方式 访问资源的路径 HTTP协议版本。
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.1.223:9090
Connection: Keep-Alive
空行
请求体
演示三:模拟一个浏览器。
客户端:自定义的浏览器。
服务端:Tomcat
发送和IE相同的HTTP协议的消息,收到了Tomcat服务器返回的数据。
HTTP的应答消息:
HTTP/1.1 200 OK //应答行 http协议版本 应答状态码 应答描述信息
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"467-53"
Last-Modified: Sat, 27 Jul 2013 02:22:58 GMT
Content-Type: text/html
Content-Length: 467
Date: Sun, 01 Sep 2013 07:26:09 GMT
Connection: close
空行
应答体
URL: 用于解析url地址。
URLConnection:获取url的连接。
HTTP1.0和HTTP1.1区别。
HTTP1.0:一次连接一次请求。
HTTP1.1:一次连接多次请求。
常见的网络架构:
C/S: client / server
特点:
1,程序员需要开发客户端和服务端。
2,维护较为麻烦。
3,将一部分运算转移到客户端来完成,减轻服务器端的压力。
B/S: browser / server
特点:
1,程序员只需要开发服务端。客户端使用系统已有的浏览器即可。
2,维护很简单。只需要维护服务端。
3,所有的运算的都在服务端。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/1389.html