deadbyelpy
@deadbyelpy
веб-шмеб

Пул для tcp сокетов, или как использовать один сокет в двух приложениях?

Есть программа работающая с сетью. Взаимодействие реализовано на tcp сокетах.
Есть задача найти способ шаринга соединения между двумя программами.
Задача: открыть сокет в 1 инстансе приложения, запустить еще один инстанс этого же приложения, и подключится уже к рабочему сокету. Все это ради того чтобы не открывать много соединений, т.к. есть лимит на подключаемом сервере.
Однако же, использовать fork неполучится, нужен именно новый инстанс приложения.
Пытался искать но толку было мало, да и запросы "tcp socket sharing", "tcp socket connection pool" ничего нового и толкового не дали.
  • Вопрос задан
  • 3181 просмотр
Решения вопроса 1
tsarevfs
@tsarevfs
C++ developer
Я бы сделал один инстанс хостом, взаимодействующим с удаленным сервером а остальные могут получать данные от него через локальные сокеты или каким-то другим способом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@xandox
Из описаного тобой возникает два вопроса
1) Как ты себе представляешь работу с одинм и тем же сокетом хотя бы даже из разных потоков. Тут вопрос скорее не в том как расшарить (допустим мы это уже умеем), а как пользовать? Как читать в два потока? Почему они не должны не подраться между собой? Ну думаю вопрос понятен. Или возможно я тебя не доконца понял и тебе нужно просто IPC
2) Чем плох fork? ну то есть ты же можешь сначала открыть соединение, а потом fork-нуться?

P.S. И последнее - сколько у тебя соединений и почему проблема попросить админов поднять лимиты?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы