在python中创建UDP套接字时要使用什么主机?

2024-09-26 22:08:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望ro接收一些通过VPN作为UDP包发送的数据。所以用python编写(主要是复制)这个程序:

import socket
import sys

HOST = ??????? 
PORT = 80


# SOCK_DGRAM is the socket type to use for UDP sockets
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

sock.bind((HOST,PORT))
data,addr = sock.recv(1024)
print "Received: %s" % data
print "Addr: %s" % addr 

我应该用什么做主持人?我知道发件人的IP,但似乎任何非本地的东西都会给我套接字。错误:[Errno 10049]。VPN给我的IP(与发送者发送到的IP相同,即)?或者只是本地主机?


Tags: 数据importiphostdataroportsocket
3条回答

使用:

sock.bind(("", 999))

“0.0.0.0”将侦听所有传入主机。例如

sock.bind(("0.0.0.0", 999))
data,addr = sock.recv(1024)

host参数是要绑定到的主机IP。指定其中一个接口的IP(例如,公共IP或127.0.0.1用于本地主机),或使用0.0.0.0绑定到所有接口。如果绑定到特定接口,则您的服务将仅在该接口上可用—例如,如果您希望运行只能通过本地主机访问的内容,或者如果您有多个IP,并且需要在每个IP上运行不同的服务器。

相关问题 更多 >

    热门问题