0

我在树莓派上设置了一个 python localhost 来监听 UDP 数据包。但我想知道如何将其设为公共服务器,以便从漫游设备发送 UDP 数据包。

下面的代码完美地从同一无线网络上的设备发送 UDP 数据包。

import SocketServer

PORTNO = 14

class handler(SocketServer.DatagramRequestHandler):
    def handle(self):
        newmsg = self.rfile.readline().rstrip()
    print (newmsg)
        self.wfile.write(self.server.oldmsg)
        self.server.oldmsg = newmsg

s = SocketServer.UDPServer(('',PORTNO), handler)
print "Awaiting UDP messages on port %d" % PORTNO
s.oldmsg = "This is the starting message."
s.serve_forever()
4

1 回答 1

1

这更像是一个网络问题。您必须使用适当的端口转发来配置您的路由器。如果您的 ISP 没有静态 IP,您可能还需要设置一些动态 DNS服务。

连接到外部网络所需的 NAT 穿越需要 192.168 之外的静态 IP。. 或 10. . 。* 范围。这通常由 ISP DHCP 服务器分配给路由器的面向外部的 MAC 地址。

端口转发设置如下所示: D_Link 端口转发

于 2013-05-17T05:43:50.820 回答