0
我正在使用相對簡單的python執行,使用OSC模塊,以便將應用程序發送到其他應用程序。Python OSC,查詢/關閉活動線程
import OSC
import threading
#------OSC Server-------------------------------------#
receive_address = '127.0.0.1', 9002
# OSC Server. there are three different types of server.
s = OSC.ThreadingOSCServer(receive_address)
# define a message-handler function for the server to call.
def printing_handler(addr, tags, stuff, source):
if addr=='/coordinates':
print "Test", stuff
s.addMsgHandler("/coordinates", printing_handler)
def main():
# Start OSCServer
print "Starting OSCServer"
st = threading.Thread(target=s.serve_forever)
st.start()
main()
拼命地跑一次,就會工作得很好,在端口9002
但是,拼命地跑兩次的聽,會返回錯誤:
socket.error:[錯誤10048]只有一個的使用每個套接字地址(協議/網絡地址/端口)通常允許
我的目標是:
- 成爲能夠活動線程的端口上查詢
- 關閉它們
我試過下面...
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex(('127.0.0.1', 900socket2))
print 'RESULT: ', result
s.close()
但給我的失敗結果。 (返回10061無論是積極的和非有效端口的線程)
如何做you'terminate'的'OSCServer'和' st.Thread' – stovfl
我沒有。我該怎麼辦? –
閱讀OSC文件,沒有什麼。讀取源代碼時會出現'shutdown()',試試看。我假設沒有關閉沒有釋放端口。 – stovfl