09-UDP广播¶
目标¶
-
知道广播的概念
-
能够使用UDP群发广播消息
什么是广播?
1. 使用UDP的方式发送广播¶
广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址
IP地址的网络字段和主机字段全为1就是地址:255.255.255.255
所以,向 255.255.255.255 发送消息,就是发送广播消息
import socket
if __name__ == '__main__':
# 建立udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 发送消息
send_content = "大家好,我是渣渣辉~"
# 把文本转为二进制数据
send_data = send_content.encode("utf-8")
# 设置允许发送广播
udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)
# 发送消息
udp_socket.sendto(send_data, ("255.255.255.255", 9090))
# 关闭套接字
udp_socket.close()
我们在windows系统中开启网络调试助手,并且监听9090地址
执行上面代码段
1为能发送但不能接收(默认)
0为禁用
2为运行所有的组播功能即allmulti (为既可发送也可接收组播数据包)