什么是客户端、服务器端?
客户端 :
发送数据、接收返回数据端
服务器:
处理数据端
TCP :
面向连接—> 打电话(相互回复,一来一回)
客户端向服务器端 拨号 , 三次握手 ,
UDP :
面向无连接 --> 寄快递(寄出去就不管了). 比如 : 直播
UDP四层结构
-
网络访问层(链路层): 物理连接设备(网线)、MAC地址(物理地址)
-
互联网层: IP地址(定位设备)
-
传输层: port (端口号) : 表示通信进程,将数据交给哪个应用处理
-
应用层: 自己定义的协议(处理字符串消息的方法)
port :
知名端口 : 0 - 1023,有指定的应用程序
可自由使用的端口 : 1024 - 65535
▲广播只能使用UDP,TCP没有广播功能。一般广播只用在局域网内(路由器不转发广播)。
套接字(socket) :
特殊的设备文件 , 写网络应用程序的接口,写入后就是发送,接收就是读取。 应该类似于 esp8266吧…
Python演示程序
服务器端程序
1 | import socket |
客户端程序
1 | import socket |
广播程序
255.255.255.255
为广播地址
广播端接收程序
1 | import socket |
广播发送程序
1 | import socket |
拓展 :
大端和小端模式的概念
网络通信时 通常使用大端
Linxu下ifconfig
命令:
-
eth0 网卡
-
wlan0 无线网卡
偶然发现安卓开热点的局域网地址是192.18.x.x
,而苹果的热点局域网IP地址是172.20.x.x
,于是搜了了解下
Author: Mrli
Link: https://nymrli.top/2019/01/22/基础网络知识/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.