在PyOSC中,您需要爲OSCServer同時接收IP和端口信息。這對我來說並不合適。和Max一樣,你只需要聲明端口。是不是爲了接收你總是隻需要localhost作爲ip?PyOSC,python。爲什麼oscserver需要IP地址來接收?
我有一個Android應用程序發送OSC消息到我的電腦上的python程序。我現在遇到的麻煩是Python,我總是需要輸入正確的IP才能工作。如果將其更改爲「本地主機」,它甚至不會工作。
據我的理解,對於udp接收,你只需要打開一個端口,IP是不相關的,因爲它總是要本地主機。
class Rating_receiver:
def __init__(self, ip = '192.168.0.3', port = 50010, num_emotion = 9, num_degree = 4):
self.receive_address = ip, port
self.num_emotion = num_emotion
self.num_degree = num_degree
self.choice = targetlist[0]
self.degree = degreelist[0]
def spawn(self):
print"Server Created."
self.receiveServer = OSC.OSCServer(self.receive_address)
self.receiveServer.addDefaultHandlers()
def start(self):
# Start OSCServer
print "\nStarting OSCServer."
self.emorating_oscServer = threading.Thread(target = self.receiveServer.serve_forever)
self.emorating_oscServer.start()
print "\nOSCServer established.
rating_receiver = Rating_receiver(ip = "localhost", port = 7110, num_emotion = 9, num_degree = 4)
rating_receiver.spawn()
所以,如果我設置IP爲「localhost」(服務器可以建,但不能接收任何消息)將無法正常工作,只有當我進入實際的IP,例如工作「192.168.0.3」。 謝謝
我做了,不幸的是它不起作用。現在我的解決方案是使用ipAddr = socket.gethostbyname(socket.getfqdn())來獲取IP。也許我可以試試0.0.0.0 –