如何让我的 python OSC 服务器监听我自己的 IP 地址?

How do I make my python OSC Server listen to my own IP address?

我是网络新手。

我有一个简单的 python 脚本使用 pyOSC 接收 OSC 消息,但是当我想在我的路由器网络中监听时使用 localhost127.0.0.1 不起作用。当我使用我的本地网络 IP 192.168 时。178.xx 它就像一个魅力。

我认为 localhost/127.0.0.1 只在我自己的 machine/network-device 中工作(?)。

但是我怎样才能将我的接收地址动态地更改为我最近使用的 IP 地址呢?

这里是代码(不工作 localhost:

import OSC, threading

receive_address = ('localhost', 12035) 
send_address = '192.168.178.20', 12036 

# Initialize the OSC server and the client.
s = OSC.OSCServer(receive_address)
c = OSC.OSCClient()
c.connect(send_address)

# simple send function for multiple arguments
def send_osc(addr, *stuff):
    msg = OSC.OSCMessage()
    msg.setAddress(addr)
    for item in stuff:
        msg.append(item)
    c.send(msg)

# simple callback functions
def answer_handler(addr, tags, stuff, source):

    print('inside incoming_handler')
    print "---"
    print "received new osc msg from %s" % OSC.getUrlStr(source)

# Start OSCServer in extra thread
st = threading.Thread( target = s.serve_forever )
st.start()
# adding callback functions to listener
s.addMsgHandler("/GAMEMASTER", answer_handler)

我在这里找到了一些解决方案: Python - Get localhost IP

特别是用户 Alexander 的回答

如果有更优雅的方式,我很高兴看到。 上述解决方案适用于我的代码,但似乎有点乱七八糟。