1

我正在尝试将开放声音控制 (UDP) 侦听器添加到 python 程序,但我不断收到错误“OSError: [WinError 10049] The requested address is not valid in its context”。该程序在访问我自己的 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()

程序应该简单地打印从指定 ip 接收到的 OSC 数据包。发生的完整错误如下。

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
4

0 回答 0