Как исправить «Запрошенный адрес недопустим в его контексте» для локального IP - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь добавить слушатель Open Sound Control (UDP) в программу на python, но постоянно получаю сообщение об ошибке «OSError: [WinError 10049] Запрошенный адрес недопустим в своем контексте».Программа работает при доступе к моему собственному ip, но не когда я пытаюсь добавить слушателя к другому ip.Я знаю, что не могу получить доступ к внешним IP-адресам, но компьютер, к которому я пытаюсь получить доступ, находится в одной сети.

Я пробовал разные прослушиватели OSC (pyOSC, python-osc), но они не работают.Однако установленная мной программа OSC (OSCwidgets) может получить доступ к другому компьютеру, поэтому я знаю, что это не работает только программа на python.

Вот файл, с которым я работаю (не включаяобработчики ошибок):

from OSC import OSCServer, OSCClient, OSCMessage
import types

server = OSCServer(("192.168.86.34", 8000))

def test_callback(path, tags, args, source):
    if path=="/test":
        print("pyOSC Receive: " + str(path) + " = " + args[0])

server.addMsgHandler("/test",test_callback)

while True:
    server.handle_request()

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

Traceback (most recent call last):
  File "C:/Users/red4d/Documents/GitHub/ETC-Eos-OSC-Controller/pyOSCreceivetest.py", line 5, in <module>
    server = OSCServer(("192.168.86.34", 8000))
  File "C:\Users\red4d\AppData\Local\Programs\Python\Python36-32\lib\site-packages\OSC.py", line 1716, in __init__
    UDPServer.__init__(self, server_address, self.RequestHandlerClass)
  File "C:\Users\red4d\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 453, in __init__
    self.server_bind()
  File "C:\Users\red4d\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 467, in server_bind
    self.socket.bind(self.server_address)
OSError: [WinError 10049] The requested address is not valid in its context
...