python之UDP 通讯

网络
使用网络能够把多方链接在一起,然后可以进行数据传递
所谓的网络编程就是 让在不同的电脑上的软件能够进行数据传递,即进程间的通讯
ip
ip地址用来标记一台电脑 每个ip包括 网络地址和主机地址


查看或配置网卡信息 ifconfig
ifconfig 可以在终端下查看自己网卡信息
使用sudo ifconfig 网卡名 目标ip地址 可以修改现有ip地址

测试远程主机连通性 ping
ping +ip地址或者域名

端口
端口只有整数,范围是0-65535
端口分为 知名端口和动态端口
知名端口
范围0-1023
80端口分配给HTTP服务
21端口分配给FTP服务

动态端口
范围1024-65535
动态端口随机分配

socket简介
socket(套接字)是进程间通信的一种方式
如何创建套接字:
import socket
socket.socket(AddressFamily,Type)

AddressFamily:可以选择 AF_INET(⽤于 Internet 进程间通信) 或者
AF_UNIX(⽤于同⼀台机器进程间通信),实际⼯作中常⽤AF_INET

Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要⽤于 TCP 协议)
或者 SOCK_DGRAM(数据报套接字,主要⽤于 UDP 协议)

创建udp套接字
import socket
#创建套接字对象
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#关闭套接字
udp_scket.close()

udp套接字发送程序:
import socket
#创建套接字对象
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定本地信息  固定端口模式
udp_socket.bind("",1234)
#发送内容
send_data=input("请输入你要发送的内容")
desk_addr=("192.168.22.52",8080)

udp_socket.sendto(send_data.encode("utf-8"),desk_addr)

#关闭套接字
udp_socket.close()



udp套接字接收程序
import socket

#创建套接字 
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定端口
local_addr=("",7788)
udp_socket.bind(local_addr)
#接收保存数据,并限制数据长度最大为1024字节
recv_data=udp_socket.recvfrom(1024)
recv_msg=recv_data[0]
recv_addr=recv_data[1]

#打印收到的数据
.print("收到%s的信息:%s"%(recv_addr,recv_msg.decode("gbk")))#用gbk方式解码
#关闭套接字
udp_socket.close()






猜你喜欢

转载自blog.csdn.net/weixin_40612082/article/details/80009370