2016-04-15 13 views
0

新しいネットワーキングです。私のpython OSC Serverを自分のIPアドレスで聞くにはどうすればいいですか?

OSCメッセージを受信するpyOSCを使用したシンプルなpythonスクリプトがありますが、localhostまたは127.0.0.1を使用すると、ルーターのネットワーク内でリッスンしたいときに機能しません。ローカルネットワークIP 192.168.178.xxを使用すると、魅力的に機能します。

私はlocalhost/127.0.0.1が自分のマシン/ネットワークデバイス(?)の内部でしか動作しないと推測します。

しかし、最近の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) 

答えて

0

私はここにいくつかの解決策を見つけた:特に Python - Get localhost IP

をユーザーアレクサンダー

によって答えよりエレガントがある場合 上記のソリューションは私のコードで動作しますが、少しハッキングしたようです。

関連する問題