网络编程

1、网络编程html

(1)网络编程:Java做为一种互联网编程语言,其提供了网络类库,能够实现无痛的网络链接,网络链接的底层都被Java隐藏了,由jvm控制。java实现了一个跨平台的网络库。造成了统一的网络编程环境。

(2)网络编程的目的:直接或间接经过网络协议于其余计算机实现数据交互,通信,资源共享java


(4)关键:准肯定位之际、高效可靠的传播mysql


(3)网络通讯的要素:通讯双方的一个IP和端口号(经过必定规则----网络通讯协议)sql

a、OSI参考模型:(互联网不普遍使用)七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层编程

b、TCP/IP参考模型:四层:应用层、传输层、网络层、物理层(物理+数据链路层)网络

c、TCP/IP各层协议:应用层(HTTP;FTP;Telnet;DNS);传输层(TCP;UDP...);网络层(IP,ICMP,APR);物理层(link)oracle


2、通讯要素:ip和端口号jvm

(1)ip地址(标识Internet上惟一计算机(通讯实体)):InetAddresssocket

a、String getHostName()得到主机名

b、byte[] getAddress()返回每一个字节的地址tcp

c、String getHostAddress()返回ip地址

d、boolean isReachable()测试目标地址是否能到达

e、IneetAddress localHost = InetAddress.getLocalHost本地主机地址

(2)本地回路地址:127.0.0.1 主机名:localhost

(3)IP地址的分类:ipv4和ipv6

(4)ipv4:4个字节(32位)组成(每一个字节都在0-255之间,使用点分时进制);

(5)ipv6:16个字节(128位,每位16进制)

(6)公网地址(万维网),私有地址(局域网--192.168.)

(7)端口号:标识计算机上正在运行的进程

(8)端口号分类:

a、公认端口(0--1023):被预先设定的服务通讯占用(http:80,ftp:21)。

b、注册端口(1024-49151):分配个用户进程(Tomcat:8080,mysql:3306,oracle:1521)

c、动态/私有端口:49152-65535

(9)ip地址的表现方式:ip地址;域名


3、通讯要素:网络协议

一、TCP/IP 协议簇:TCP/IP是一组协议,TCP是传输控制写,IP是网络互联协议(网络层重要协议,主要支持网间互联的数据通讯)

二、传输层主要的两种协议:传输控制协议TCP、用户数据包协议UDP

三、TCP:使用TCP协议,必需要创建TCP链接,造成传输数据通道。采用三次握手,点对点通讯,是可靠的

TCP协议再进行通讯的时候须要客户端和服务端

传输完毕以后,须要释放已创建的链接,四次挥手,效率低

四、UDP:将数据源封装成一个个的数据包,不须要创建链接,每一个数据包大小限制再64k之内,发送双方不须要确认,不可靠。不须要创建链接,能够广播。开销小,效率高,不可靠,速度块(直播)。


4、TCP编程

一、Socket:

(1)ip和端口号就组成了一组网络套接字(Socket)。网络上惟一标识的ip和端口号就组成了惟一标识的标识符套接字。

(2)网络两端都在须要具有socket,它是两台机器通讯的端点。

(3)数据在两个Socket中经过IO流的方式进行通讯

(4)先写服务端Socket:

a、建立一个Socket:ServerSocket serverSocket = new ServerSocket(7765);

b、须要监听客户段发来的请求,并返回一个Socket:Socket socket = serverSocket.accept();

c、接受客户端发送的消息:InputStream is = socket.getInputStream();

d、处理消息

e、关闭资源

(5)客户端

a、建立socket对象:InetAddress inet = InetAddress.getByName("127.0.0.1");
socket = new Socket(inet, 8989);

b、获取socket对应的流:OutputStream os = socket.getOutputStream();

(6)经常使用方法:getInputStream()、getOutputStream()、getInteAddress();getLocalAddress();getPort();getLocalPort();close();shutdownInput();shutdownOutput();


二、Socket步骤;

(1)建立Socke对象:根据制定的服务端的ip地址和端口号

(2)获取socket的输入输出流:getInputStream/getOutputStream

(3)经过必定的协议对socket进行读写操做:TCP/IP或UDP

(4)关闭socket


5、UDP编程

一、TCP:使用tcp提供可依赖的字节流服务进行数据传输(流套接字)

二、UDP:数据报套接字:经过数据包的方式,使用DatagramSocket对象,会把数据封装成DatagramPacket,

三、UDP编程流程:

(1)创建接收端和发送端

(2)须要建立DatagramSocket和DatagramPacket对象

(3)封装数据报

(4)调用socket接收和发送方法

(5)关闭资源


6、URL编程

一、url:统一资源定位符,互联网上的某一资源地址

二、url组成:由五部分组成

<传输协议>://<主机名>:<端口号>/<资源目录>#片断名?参数列表

三、url的经常使用方法:

public URL(String spec)经过一个url地址,构造出一个url对象

URL(URL context,String spec) eg:new URL(new URL(""),"indext.html")

URL(String,String,String) eg:new URL("HTTP","www.baidu.com","index.html")

URL(String args1,String args2,String args3,String args4) eg:new URL("HTTPS","www.baidu.com",80,"index.html")

String getProtocol()获取URL的协议名

getHosts()获取主机名

getPath()

getFile()

getQuery()获取查询名

相关文章
相关标签/搜索