Перейти к содержанию
Fire Monkey от А до Я
  • 0

Поиск сервера


Akromd

Вопрос

Добрый вечер.

Только начал изучать технологию Datasnap. Разобрался с простейшим сервером и клиентом, находясь в одной сети все прекрасно работает.

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

Теперь вопрос, как послать такой пакет? Если кто то может подсказать где почитать про это и посмотреть примеры, буду очень признателен.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
9 часов назад, Akromd сказал:

Однако первоначальная идея что устройства соединяются не в одной подсети.

так не получится. Ни своими силами, ни используя тетеринг. В случае разных подсетей как минимум будет нужен свой велосипед. А как максимум - полноценный сервер, выполняющий возложенные на него задачи, одна из которых - пробрасывать трафик от одного клиента к другому (при необходимости). Но в любом случае - клиенты коннектятся к серверу.

1 час назад, Zawuza сказал:

два клиента не могут соединиться друг с другом, даже если они сервера, потому что сети разные

Если мы говорим про сетевые технологии, то клиентский сокет может соединиться только с серверным. И тут два варианта:

1. либо они оба находятся в одной подсети, при этом порт для броадкаста открыт.

2. Либо у сервера выделенный статический белый IP или постоянный URL (в этом случае IP не обязан быть статическим, но вот белым быть обязан).

 

Серверный сокет не соединяется ни с кем, он только принимает входящие подключения от клиентских сокетов.

 

1 час назад, Zawuza сказал:

сервер получает пакеты одного клиента и просто перебрасывает их второму

да.

Ссылка на комментарий
  • 0
21 час назад, Zawuza сказал:

К сожалению, два клиента не могут соединиться друг с другом...

Думаю вы не поняли, попробую по-другому.  На каждом компе установите программы клиента и сервера. Каждый сервер будет слушать запросы других клиентов и скидывать им данные клиента, установленного на этом же компе.

Изменено пользователем GASCHE
Ссылка на комментарий
  • 0

в вашем случае, раз все будут серверы и клиенты, то получается, что все данные клиентов будут на КАЖДОМ клиенте!

Вам надо так? кто будет собирать данные воедино?

Ссылка на комментарий
  • 0

Ну почему, с сервером какого клиента соединитесь данные того клиента и получите, результат отправите на общий сервер.

Изменено пользователем GASCHE
Ссылка на комментарий
  • 0
В 07.01.2017 в 22:42, krapotkin сказал:

ничего не понял

что не так с датаснапом?

сервер кладется на форму вроде как обычно, не?

 

Да, именно так, только некоторые компоненты datasnap server не компилируются под андройд.

Для того, чтобы понятно было, что я хочу, прилагаю простой проект для примера с датаснапом.

В проекте сервер и клиент. Сервер достаточно запустить, а клиент по каждому нажатию "Получить id" эмулирует подключение нескольких клиентов, что приводит к вычислению некой суммы от каждого клиента.

А возвращаясь к задаче, хочется чтобы все вычисления были у клиента.

Проверка сервера.zip

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...