2016-04-15 4 views
0

ich bin neu im Netzwerk.Wie kann ich meinen Python OSC Server auf meine eigene IP-Adresse aufmerksam machen?

Ich habe ein einfaches Python-Skript mit pyOSC OSC-Nachrichten empfangen, aber mit localhost oder 127.0.0.1 funktionieren nicht, wenn ich im Netzwerk meines Routers hören will. Wenn ich mein lokales Netzwerk IP 192.168.178.xx verwende, funktioniert es wie ein Zauber.

Ich nehme an, dass localhost/127.0.0.1 nur innerhalb meines eigenen Rechners/Netzwerkgeräts (?) Funktioniert.

Aber wie kann ich meine Empfangsadresse dynamisch zu meiner letzten IP-Adresse ändern?

hier der Code (mit dem nicht localhost arbeiten:

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) 

Antwort

0

ich hier gefunden habe einige Lösungen: Python - Get localhost IP

insbesondere die Antwort vom User Alexander

wenn es eine elegantere ist Ich bin sehr glücklich, es zu sehen. die oben genannten Lösungen funktionieren für meinen Code, scheinen aber ein wenig gehackt.

Verwandte Themen