67人参与 • 2024-08-06 • udp
import socket
#1.创建套接字
udp_ser_socket=socket.socket(socket.af_inet,socket.sock_dgram)
#2,绑定本地的相关信息,服务器端程序(比如一键报警程序),需要绑定
#两个参数,ip地址和端口号。** ip地址默认不写,因为一个网卡可以配多个ip地址,默认选系统中第一个
local_addr=('',2000)
#bind的参数是本地的相关信息
udp_ser_socket.bind(local_addr)
# 3. 等待接收对方发送的数据,1024表示本次接收的最大字节数
recv_data=udp_ser_socket.recvfrom(1024)
#4.显示接收到的数据
#对收到的数据解码
print(recv_data[0].decode('utf8'))
#客户端地址在recv_data[1]里,形式为(ip地址,客户端第一个sento随机开启的端口)
client_address=recv_data[1]
#5.发信息给客户端
udp_ser_socket.sendto('来自ubuntu的信息'.encode(),client_address)
#6.关闭套接字
udp_ser_socket.close()
import socket
#1.初始化一个套接字
udp_client_socket = socket.socket(socket.af_inet, socket.sock_dgram)
# 2. 发送数据到('192.168.242.128', 2000)
aim_address = ('192.168.242.128', 2000)
# sento函数两个参数,发送信息和目的地址。而自己的ip地址默认带着,自己的端口随机开启
udp_client_socket.sendto('来自windows的信息'.encode('utf8'), aim_address)
#3.接收服务器端发来的数据
recv_data = udp_client_socket.recvfrom(1024)
print(recv_data[0].decode('utf8'))
#4.关闭
udp_client_socket.close()
ctrl alt t 调出终端,输入以上代码,ip要写目的地址,先运行服务器端,再运行客户端,因为需要udp服务器端先绑定信息,并开始接收
1.绑定bind 后查看本地端口的状态
netstat -an|grep 2000
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论