ip地址: 唯一标识网络中的某一台主机./计算机(老韩举例,类似人的通讯地址) 使用ipconfig来查看 点分十进制表示 xx.xx.xx.xx ![在这里插入图片描述](https://img-blog.csdnimg.cn/4fd3119f5b814dfe8921f494467b889c.png) ip地址=网络地址+主机地址 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b92d8d8931944e2997cb922d281eaa74.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_19,color_FFFFFF,t_70,g_se,x_16) 域名 为解决ip地址难记,将ip地址映射成域名
端口(0-65535)(两个字节) 标识计算机上某个特定的网络程序 ![在这里插入图片描述](https://img-blog.csdnimg.cn/3620f0fe651c483b8143e1277bf8bdee.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_20,color_FFFFFF,t_70,g_se,x_16) 同一台主机上两个服务无法同时监听一个端口。 (0-1024)端口已经被占用,不要去使用。
网络协议 数据的组织形式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0c5b10bc4f2148c29e13b6f96d123249.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/5610de7cd0134dbd82b5b4ab595ccbe4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_20,color_FFFFFF,t_70,g_se,x_16) TCP传输控制协议 数据传输需要建立TCP连接 三次握手,可靠 客户端、服务端 应用大数据量的传输 传输完毕,释放连接,效率低
UDP用户数据协议 将数据、源、目的封装成一个数据包,不需要建立连接 每个数据报大小限制在64KB,不适合传输大量数据 不可靠 无需释放资源,速度快
InetAddress类 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8552dee29e494eb18e4ce2eeb514541f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_15,color_FFFFFF,t_70,g_se,x_16)
Socket 通信的两端都要有Socket,网络通信实际上就是Socket之间的通信 数据在两个Socket之间通过IO传输,主动发起请求的称为客户端,等待发起请求的称为服务端 ![在这里插入图片描述](https://img-blog.csdnimg.cn/acb8f9ada40d4328958ad8265e117c07.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQmFyb27jgIHjgIE=,size_20,color_FFFFFF,t_70,g_se,x_16) 网络编程时发送完数据后要加一个结束标记socket.shutdownOutput() 或者 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8afe45b103f147c492461748bad9bb50.png)
netstat指令 查看当前主机网络情况,包括端口监听和网络连接情况 netstat -an netstat --anb 可以显示具体程序 netstat -an |more 分页显示 ctrl+c退出程序
Tcp网络通讯的秘密 ![在这里插入图片描述](https://img-blog.csdnimg.cn/a8f3d070ba7b42a8a4d8ea8ebbea5bf3.png) 服务器端的端口是人为确定的,而客户端的端口是随机分配的。
UDP网络编程 两个常用的类 DatagramSocket和DatagramPacket(数据包/数据报) 没有明确的客户端和服务端,演变为数据的发送端和接收端(角色会发生变化) 接受和发送数据是通过DatagramSocket对象来完成的(同时指定端口) 数据被封装到DatagramPacket对象(装包,包含数据,ip,端口等) 接收到DatagramPacket对象后(拆包) ![在这里插入图片描述](https://img-blog.csdnimg.cn/dc6087fc5eb94cee861881b5a50c0e88.png)
|