Распределенная сеть из идентичного приложения - PullRequest
0 голосов
/ 24 ноября 2011

Я пришел сюда с довольно философской проблемой:

Предположим, у нас есть два идентичных приложения с одинаковым диапазоном настроек. и мы хотели бы, чтобы эти приложения могли общаться через сокеты.

Насколько я знаю, в приложении «точка-точка» одно из них должно быть активным (клиент) и пассивным (сервер), т. Е. Клиент должен «подключиться», а сервер должен находиться в состоянии «принять». Это привело нас к необходимости знать, кто активен, а кто нет, прежде чем мы запустим их.

Как я уже говорил, я хочу сделать это приложение идентичным. И пусть два одинаковых приложения можно соединить, киньте сеть, принимая какие-то умные решения Who is Who.

Этот вопрос рассматривается в связи с тем, что я хочу, чтобы каждое новое приложение можно было подключить к сети других приложений, просто зная ip-адрес одного из них.

Отказ от ответственности: Это не вредоносная программа. Это транспортный уровень системы ERP.

Буду очень рад любым идеям, ссылкам и т. Д.

1 Ответ

2 голосов
/ 27 ноября 2011

Параметры:

  • Назначьте одно приложение, чтобы всегда быть сервером. Он запускает прослушивание какого-либо порта, а другое приложение при запуске будет пытаться повторно подключиться к серверу, пока оно не будет успешным.
  • Пусть оба действуют как сервер и как клиент. Приложение на одном хосте запускается и пытается подключиться к другому хосту, а если не может, то запускает сервер, прослушивающий соединение с другого хоста. Приложение на другом хосте делает то же самое. Следует добавить в повторных попытках избежать условий гонки.
  • Пусть каждый из них выступит в роли клиента и подключится к третьему серверу. Затем они связываются через этот сервер, или тот сервер сообщает им, как общаться друг с другом (сервер может, например, указать одно приложение как сервер, а другое приложение - как клиент).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...