网络编程基础
就是实现两个网络设备的数据交互
网络编程三要素
ip地址:网络设备的标识
ip4:4个字节 点分十进制表示
ip6:16个字节 冒分十六进制表示
相关命令:igconfig:查看本机在当前网络环境下的ip地址
ping:查看当前主机和指定的ip地址是否连接
端口号port:应用程序的标识 整数 80、8080、3306
网络协议:网络传输的规则
UTP:无连接、不安全、数据只能传输64k
TCP:有链接、可靠、数据大小没有限制
InetAddress类
getbyName(主机名/id地址)----得到InetAddress对象
getHostName:获取主机名
getHostAddress:获取ip地址
UTP
发送端
//1、创建对象
DatagramSocket ds = new DatagramSocket()
//2、创建包裹
DatagramPacket dp =new DatagramPacket(byte,byte.length,Address,port)
//3、发送
ds.sent(dp)
//4、关闭
ds.close();
接收端
//1、创建对象
DatagramSocket ds = new DatagramSocket(port);
//2、创建包裹;
DatagramPacket dp =new DatagramPacket(byte,byte.length);
//3、发送
ds.receive(dp)
//4、处理数据
dp.getData();
dp.getLength();
//5、关闭
ds.close();
TCP
客户端
Socket socket = new Socket(ip地址,port);
OutputStream out = socket.getOutputStream();
//发送客户端请求的数据
InputStream in = socket.getInputStream()
//接收响应数据
//释放资源
socket.close()
服务端
ServerSocket ss = new ServerSocket(port);
Scoket scoket = ss.accept();
InputStream out = socket.getInputStream();
//接收客户端请求的数据
OutputStream in = socket.getOutputStream()
//发送响应数据
//释放资源
socket.close()
ss.close()
三次握手:请求连接
客户端发送请求---------服务端响应请求----客户端确让请求
四次握手:取消请求
客户端请求取消连接------服务端响应请求-----服务端确认取消----客户端确定
差一次的原因是因为服务的需要处理数据