【发布时间】:2020-05-09 10:23:54
【问题描述】:
我正在尝试发送消息以通过 python 中的套接字进行切换。交换机和主机是通过 mininet 使用如下命令创建的。
sudo mn --switch ovsk --topo tree,depth=2,fanout=8 --controller=remote,ip=127.0.0.1,port=6633
在客户端,我使用如下套接字。
import socket
host = socket.gethostbyname("")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, 6633))
message = np.random.choice(normalized_x[0], 1, replace=False)
s.send(message.encode())
s.close()
在服务器端,代码如下。
host = socket.gethostbyname("")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, 6633)) # Define ip address as local host and port number
s.listen(1) # Listen for incoming connection
clt, addr = s.accept()
c_messg = clt.recv(10240) # Store message received from the server
temp_msg = c_messg.decode()
s.close()
但是,每当我执行这些 python 文件时,我都会收到一条错误消息,即
error: [Errno 98] Address already in use
我不确定如何解决此问题。提前感谢您的回答。
【问题讨论】:
-
客户端和服务器是否都在同一台机器上运行?如果是,则需要使用 SO_REUSEADDR
-
这能回答你的问题吗? Python [Errno 98] Address already in use
-
我已经尝试过 SO_REUSEADDR。它不能修复错误...