如何让我的 python OSC 服务器监听我自己的 IP 地址?
How do I make my python OSC Server listen to my own IP address?
我是网络新手。
我有一个简单的 python 脚本使用 pyOSC 接收 OSC 消息,但是当我想在我的路由器网络中监听时使用 localhost
或 127.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 的回答
如果有更优雅的方式,我很高兴看到。
上述解决方案适用于我的代码,但似乎有点乱七八糟。
我是网络新手。
我有一个简单的 python 脚本使用 pyOSC 接收 OSC 消息,但是当我想在我的路由器网络中监听时使用 localhost
或 127.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 的回答
如果有更优雅的方式,我很高兴看到。 上述解决方案适用于我的代码,但似乎有点乱七八糟。