赞
踩
网络编程:通过网络协议实现计算机之间的数据传输和通讯。
网络编程中有两个主要的问题:
如何准确地定位网络上的主机;如何定位主机上的特定的应用
找到主机后如何可靠高效地进行数据传输
网络通信协议规定了数据的传输方式,如:数据的格式、数据的传输速率、通信规则等。网络通信协议有很多,常见的有TCP/IP协议、UDP协议等。
IP地址:唯一的标识一台Internet上的主机
IP地址分为IPV4和IPV6
IPV4 4个字节,即32位。如192.168.0.1
IPV6 16个字节,即128位。如3ffe:3201:1401:1280:c8ff:fe4d:db39:1984
本地回环地址(hostAddress):127.0.0.1
主机名(hostName):localhost
即:localhost的IP是127.0.0.1
端口号:标识正在计算机上运行的进程(程序)
不同的进程有不同的端口号,规定端口号为一个 16 位的整数 0~65535。
端口分类:
公认端口:0~1023。被预先定义的服务通信占用(如:HTTP占用端口 80)
注册端口:1024~49151。分配给用户进程或应用程序。(如:Tomcat占用端口8080)
动态/私有端口:49152~65535
Socket(套接字)可以看成是应用程序进行通信时的标识。
Socket是网络环境中进程间通信的API,也是可以被命名和寻址的通信端点,每一个套接字都有一个对应的进程。网络通讯实际上就是Socket间的通讯。
套接字Socket=(IP地址:端口号)
Internet上的主机有两种方式表示地址:
域名(hostName):www.baidu.com
IP 地址(hostAddress):202.108.35.210域名解析:当在连接网络时输入一个主机的域名后,域名服务器(DNS) 负责将域名转化成IP地址,这样才能和主机建立连接。
InetAddress类封装了IP地址,提供了与IP地址相关操作的方法,有两个子类Inet4Address、Inet6Address。
//InetAddress类常用API:
//创建一个本地主机的InetAddress对象
static InetAddress getLocalHost()
//给定主机名的情况下确定主机IP地址
static InetAddress getByName(String host)
//得到字符串格式的IP地址
String getHostAddress()
//获取此 IP 地址的主机名
String getHostName()
//测试是否可以达到该地址
boolean isReachable(int timeout)
URL(uniform resource locator),统一资源定位符。表示Internet上某一资源的地址,浏览器通过解析给定的 URL 可以在网络上查找相应的文件或其他资源。
URL的基本结构由5部分组成:
<传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表
例如: http://192.168.1.100:8080/helloworld/index.jsp#a?username=shkstart&password=123
//URL类常用API:
public String getProtocol()//获取该URL的协议名
public String getHost()//获取该URL的主机名
public String getPort()//获取该URL的端口号
public String getPath()//获取该URL的文件路径
public String getFile()//获取该URL的文件名
public String getQuery()//获取该URL的查询名
UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送和接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
Java提供了DatagramSocket
类和DatagramPackage
作为基于UDP协议的API
UDP协议特点
1.将数据、源、目的封装成数据包,不需要建立连接
2.每个数据报的大小限制在64K内
3.发送不管对方是否准备好,接收方收到也不确认,故是不可靠的
4.可以广播发送
5.发送数据结束时无需释放资源,开销小,速度快
TCP/IP协议是一种可靠的网络协议,它通过客户端和服务器端建立的连接来进行通信。TCP协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP协议是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
TCP协议通信的过程:
1.三次握手(建立连接) 2.传输确认 3.四次挥手(断开连接)
TCP协议特点
1.使用TCP协议前,须先建立TCP连接,形成传输数据通道
2.传输前,采用“三次握手”方式,点对点通信,是可靠的
3.TCP协议进行通信的两个应用进程:客户端、服务端。
4.在连接中可进行大数据量的传输
5.传输完毕,需释放已建立的连接,效率低
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。