我有一個Moxa device,從串行數據創建Tcp-ip消息併發送它們通過局域網給我。 我需要用python服務器來監聽hes特定的external-ip(172.16.0.77)。 生病嘗試做到這一點:試圖綁定到特定的外部IP :: [Errno 10049]請求的地址是無效的在其上下文無法打開套接字 - (python 2.7)
BUFFER_SIZE = 10000 # Normally 1024, but we want fast response
HOST = self.TCP_IP #(172.16.0.77)
PORT = self.TCP_PORT # Arbitrary non-privileged port
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,
socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
except socket.error as msg:
print msg
s = None
continue
try:
s.bind(sa)
s.listen(1)
except socket.error as msg:
print msg
s.close()
s = None
continue
break
if s is None:
print 'could not open socket'
while s:
print s.getsockname()
conn, addr = s.accept()
print 'Connection address:', addr
data = conn.recv(BUFFER_SIZE)
if data:
self.emit(QtCore.SIGNAL("SamplesRecive"),data)
conn.close()
,我也得到:[錯誤10049]請求的地址不在其上下文中有效無法打開套接字 我需要,所以我不能使用的發球分,以多Moxa的設備socket.INADDR_ANY
任何想法?
在哪一行上會出現此錯誤? –
[tag:pss] on [s.bind(sa)],謝謝 –
下面'dsgdfg'提供的答案應該可以解決這個問題。這裏的其他帖子可能會幫助你找到原因。 http://stackoverflow.com/a/4657548/2382792 –