网络通信——tcp udp
网络通信——不同电脑上的软件进行数据传递,即进程之间的通信。
一:ip and port
windows,linux 下查看网卡信息:ipconfig ifconfig
开关网卡:ifconfig 网卡 up/down
ip 是网络通信时用来找电脑,端口用来找电脑上的具体进程。
端口:0-65535 分为固定端口 0 -1023 和动态端口 1024-65535
查看端口的命令:netstat -na isof -i [tcp/udp]:2425
二。socket
是不同主机的进程间通信的一种方式,socket 是可以同时接收和发送数据。
套接字 socket 的使用方式:
1)创建套接字:
socket.AF_INET 用于互联网进程间的通信,一般使用的是这个 AF_UNIX 用来同一台机器进程间的通信
socket.SOCK_STREAM 流式套接字,用于 tcp 协议 socket.SOCK_DGRAM 数据报套接字,用于 udp 协议。
s_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2)使用套接字收发数据
3)关闭套接字
三,upd 的使用
socket.sendto(“xxxx”, (ip, 端口)) 发送的内容需要 encode
socket.recvfrom(1024) 1024 代表接收到最大数据量,接收的内容需要 decode。在接收之前需要绑定 ip 端口。
四,tcp 的使用
tcp 严格分为客户端和服务器
tcp 客户端的构建流程:
(1)、创建客户端的 socket 对象
(2)、建立与服务器之间的联系
(3)、发送请求
(4)、接收数据
(5)、关闭连接
tcp 服务器的构建流程:
(1)、创建服务端的 socket 对象
(2)、绑定服务端的地址
(3)、设置监听器
(4)、等待客户端的连接
(5)、接收客户端的请求
(6)、返回处理的结果到客户端