我写了这段代码.
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)
Run Code Online (Sandbox Code Playgroud)
然后执行此代码.
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')
Run Code Online (Sandbox Code Playgroud)
怎么了?
你知道解决方案吗?
这意味着您已经有一个绑定到3794端口的套接字.
它可能是另一个应用程序,或者它意味着在您自己的脚本上一次运行之后端口尚未发布(如果脚本未正确终止,则会发生这种情况).
只需尝试使用另一个端口号 - 我相信一切都会正常工作.