import socket import dns.resolver # 设置 MDNS 服务器的 IP 地址和端口号 mdns_server = '224.0.0.251' mdns_port = 5353 # 创建 UDP 套接字并绑定到 MDNS 服务器的 IP 地址和端口号 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((mdns_server, mdns_port)) # 监听 MDNS 请求并处理请求 while True: data, addr = sock.recvfrom(1024) dns_query = data.decode() query = dns.resolver.query(dns_query) for rdata in query.answers: service = rdata.to_text() + '.local' response = 'HTTP/1.1 200 OK\r Content-Type: text/html\r \r <html><body><h1>Hello, world!</h1></body></html>' sock.sendto(response.encode(), (addr[0], 0)) # 关闭套接字 sock.close()
时间: 2024-04-28 20:23:45 浏览: 245
Article_Src.zip_.src.zi_DNS Csharp_Everything and More_dns resol
这段代码是一个 Python 程序,实现了一个 MDNS 服务。MDNS 是一种局域网内的服务发现协议,它允许设备在局域网内自动发现和连接到其他设备提供的服务。这个程序使用了 Python 的 socket 和 dns.resolver 模块,创建了一个 UDP 套接字并绑定到 MDNS 服务器的 IP 地址和端口号。然后程序不断监听 MDNS 请求,当收到请求时,解析 DNS 查询并向请求者发送一个 HTTP 响应,该响应包含一个简单的 "Hello, world!" 页面。最后,程序关闭了套接字。
阅读全文