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] Обычно разрешено только одно использование каждого адреса сокета (протокол / сетевой адрес / порт)

Моя цель состоит в том, чтобы:

  1. Уметь запрашивать порт активного потока
  2. Закройте их

Я попробовал следующее...

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.
Другие вопросы по тегам