IP地址:一个32位的主机的唯一标识,IP地址分为公有地址和私有地址,公有地址是指互联网上的唯一地址,私有地址是局域网内设备的网络地址。
一个网络设备可以通过IP地址找到另一个网络设备,使用端口区分不同的应用程序,端口号的范围是0-65535,其中0-1023为系统保留,定义端口时要避免1024以下的端口。IP地址+端口号组成两个设备通信的地址基础。
TCP协议和UDP协议:
TCP传输分为服务端和客户端,需要提前建立连接,后续才能传输。UDP传输不区分服务端和客户端,不需要提前建立连接。·
TCP连接流程:
UDP连接流程:
TCP传输:
- ESP8266作为TCP客户端:即ESP8266去连接TCP服务器,适用于 数据的上报的场景,这种情况下,ESP8266连接服务端(手机),要知道服务器那端的IP地址,我们新增一个手机去控制设备,就要重新告诉ESP8266我们手机的IP地址
- ESP8266作为TCP服务端:适用于 多设备控制同一个设备,这种情况下,其它设备要知道服务器的IP地址就能连接传输数据,也就是知道ESP8266的IP地址即可
UDP传输:
- 固定远端模式:使用固定远端,需要知道通信双方的IP地址
- 远端可变模式:如果使用可变远端,手机发送数据给ESP8266后,ESP8266下次自动和最近一次通信的设备(手机)发送数据,这样我们就无需告诉ESP8266我们手机的IP地址,但还会存在一个问题:刚开始的时候,ESP8266无法给手机发数据,因为不知道手机的IP地址,只能手机先发送数据给ESP8266后,才能再发数据给手机。