1.网络编程
可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信)
2.基本通信架构
基本通信架构有两种形式:CS架构、BS架构
3.基本概念:
IP:设备在网络中的地址,是唯一的标识
端口:应用程序在设备中唯一的标识
协议:连接和数据在网络中传输的规则
IP地址:两种形式:IPv4、IPv6
IPv6:共128位,分8段表示,每段每四位编码成一个16进制位表示,数之间用:分开
公网IP:是可以连接互联网的IP地址;内网IP:也叫局域网IP,只能组织机构内部使用
192.168.开头的技术常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用
特殊IP地址:
127.0.0.1、locallhost:代表本机IP,只会寻找当前所在主机
IP常用命令:
ipconfig:查看本机IP地址
ping IP地址:检查网络是否连通
4.InetAddress
代表IP地址
5.端口:
标记正在计算机设备上运行的应用程序,被规定为一个16位的二进制,范围是0-65535
分类:
注册端口:1024-49151,分配给用户进程或某些应用程序
动态端口:49152到65535,一般不固定分配某种进程,而是动态分配
周知端口:0-1023,被预先定义的知名应用占用
注意:我们自己开发的程序一般选择使用注册端口,且一个设备中不能出现两个程序的端口号一样,否则出错
6.通信协议
网络上通信的设备,事先规定的连接规则,已经传输数据的规则称为网络通信协议
开放式网络互连标准:OSI网络参考模型
UDP:用户数据报协议
- 无连接、不可靠通信
- 不事先建立连接,数据按照包发,一包数据包含:自己的IP、程序端口,目的地IP、程序端口和数据等
- 发送方不管对方是否在线,数据在中间丢失也不管,如果接受方收到数据也不返回确认,故是不可靠的
TCP:传输控制协议
- 面向连接、可靠通信
- 最终目的:保证在不可靠的信道上实现可靠传输
- TCP注意有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接
- 三次握手建立可靠连接:
可靠连接:确定通信双方,收发消息都是正常无问题的
- 四次挥手断开连接:
确保双方数据的收发都已完成
7.UDP通信
特点:无连接、不可靠通信
不事先建立连接,发送端每次把要发送的数据(限制在64kb)、接收端ip等信息封装成一个数据包,发出去就不管了
java提供了一个java.net.DatagramSocket类来实现UDP通信
8.TCP通信
特点:面向连接、可靠通信
通信双方实现会采用“三次握手”方式建立可靠连接,实现端到端的通信;底层能保证成功传给服务端
Java提供了一个java.net.Socket类来实现TCP通信
9.TCP通信-------客户端开发
客户端程序是通过java.net下的Socket类实现
10.TCP通信----服务端程序的开发
服务端是通过java.net包下的ServerSocket类来实现的