Я использую liblo для связи OS C ( lowlevel API ) через UDP в течение некоторого времени, и сейчас я пытаюсь переключиться на TCP. Однако мне сложно понять, как использовать библиотеку для TCP. echoserver демонстрирует, как настроить сервер. В основном я делаю это:
_tcpThread = lo_server_thread_new_with_proto( "7000", LO_TCP, errorHandler );
_tcpServer = lo_server_thread_get_server( _tcpThread );
lo_server_thread_start( _tcpThread );
_address = lo_address_new_with_proto( LO_TCP, "127.0.0.1", "7000" );
lo_send_message_from( _address, _tcpServer, "/test", message );
Теперь, как мне создать клиента, который подключается к сокету TCP и получает отправленные пакеты OS C? Документация и образец кода заставляют меня чесать голову. Создать второй сервер на стороне клиента? Как мне сказать, к чему подключиться?
EDIT: хорошо, теперь я понял, что lo_send_message_from
на самом деле хочет, чтобы целевой адрес был первым аргументом. Из этого я делаю вывод, что мне придется перебирать всех подключенных клиентов и отправлять их в соответствующие сокеты. Остается вопрос, кому подключить клиента к серверу? Возникает второй вопрос: как мне узнать, какие клиенты подключены, которым я мог бы отправлять свои пакеты?