网络通信——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)、返回处理的结果到客户端