Получение сообщения «ошибка: адрес Errno 98 уже используется» из сокета - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь отправить сообщение для переключения через сокет в python. Коммутатор и хост создаются через min inet с помощью команды, как показано ниже.

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

Я не уверен, как решить эту проблему проблема. Заранее благодарим за ответ.

1 Ответ

0 голосов
/ 09 мая 2020

Ошибка означает, что адрес, который ваш сервер пытается прослушивать, уже используется другим процессом. вы можете использовать

sudo lsof -i: 6633

, чтобы увидеть, какой процесс прослушивает тот же порт

, или, если это выполнимо, вы можете переключиться на другой порт, который не используется.

если ничего не отображается с netstat или lsof

Вы можете посмотреть Link и Link тоже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...