Python OSC, Query / Close активный поток
Я использую относительно простое выполнение 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: [Errno 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 для потока активного и неактивного порта)
1 ответ
Python "Документация socketserver.BaseServer:
неисправность()
Tell the serve_forever() loop to stop and wait until it does.
server_close ()
Clean up the server. May be overridden.