用python写一个udp套接字接收消息
需要的环境和上一个实验是一样的 ——udp套接字发送数据
主要的代码部分:
import socket
def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 绑定端口号
ip_port = ("",7788) #空双引号是因为电脑会自动检测到自己的IP 地址,所以不用填写
udp_socket.bind(ip_port)
while True:
# 接收数据
recvdata = udp_socket.recvfrom(1024) # 设置每次最大接收数据为1024个字节
# 打印出来
print("来自%s的消息:%s"% (str(recvdata[1]),recvdata[0].decode("gbk"))) #因为接收到的是一个包含(对方IP和端口+数据)的元组
# 关闭套接字
udp_socket.close()
if __name__ == '__main__':
main()
效果图是这样的:
在python交互模式下按Ctrl+z可退出程序