我写了这段代码。发生了Python插座错误
import socket
host = 'localhost'
port = 3794
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind((host, port))
while 1:
print 'Type message you want to send...'
msg = raw_input()
if msg == '':
s.close()
break
s.sendall(msg)
然后执行此代码。
Traceback (most recent call last):
File "socket.py", line 11, in ?
s.bind((host, port))
File "<string>", line 1, in bind
socket.error: (99, 'Cannot assign requested address')
怎么了?
你知道解决方案吗?
我试过它说的代码:UDP套接字没有sendall()方法。 – 2009-08-20 10:02:41
我执行的代码,它运行良好(虽然没有套接字侦听)。但's.sendall(msg)'中的缩进是错误的。 – ramosg 2009-08-20 10:09:14
@ffffff,请告诉我们完整的代码,特别是指定您的端点的位置(通过connect())。在py2.4下,使用EDESTADDRREQ(“需要的目标地址”)对此失败。 – pilcrow 2009-08-20 13:59:48