网络编程
可以让设备中的程序与网络上的其他设备中的程序进行数据交互,实现网络通信。
基本的通信架构
基本通信架构有两种:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)。
网络通信三要素
InetAddress(IP地址)
public class test {
public static void main(String[] args) throws Exception {
// 1. 获取本机IP地址对象
InetAddress ip1 = InetAddress.getLocalHost();
System.out.println("本地主机名: " + ip1.getHostName());
System.out.println("本地IP地址: " + ip1.getHostAddress());
// 2. 获取指定IP或主机名的IP地址对象
InetAddress ip2 = InetAddress.getByName("www.baidu.com");
System.out.println("指定主机名: " + ip2.getHostName());
System.out.println("指定IP地址: " + ip2.getHostAddress());
// 检查是否可到达
System.out.println("是否可到达: " + ip2.isReachable(6000) + " (超时6秒)");
}
}
端口
标记正在计算机上运行的应用程序,被规定为一个16位的二进制,范围0~65535
协议
网络上通信设备,事先规定的连接规则,以及传输数据的规则被称为网络通信协议。
传输层的两个通信协议
UDP(User Datagram Protocol)用户数据报协议
TCP(Transmission Control Protocol)传输控制协议
UDP协议
特点:无连接、不可靠 。通信效率高,用于语音童话,视频直播。
不事先建立连接,数据按照包发,一包数据包括:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64K内)等。
发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不会确认,故是不可靠的。
TCP协议
特点:面向连接,可靠通信
目的:保证在不可靠的信道上实现可靠传输
三个步骤:三次握手建立连接(全手工,三次连接是指1.客户端向服务器端发出连接请求,2.服务器端返回响应,3.客户端再次发出确认信息,建立连接,确认双方能发能收),传输数据进行确认,四次挥手断开连接(1.客户端发送断开请求,2.服务器端返回稍等响应,3.服务器端返回响应确认断开,4.客户端发出正式断开连接。确保双方收发数据都已完成)。
标签:编程,System,网络,IP地址,println,InetAddress,客户端,out From: https://blog.51cto.com/u_16382144/11946767