Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Поиск серверов чата в сети   Найти похожие ветки 

 
Paylik   (2003-05-25 13:53) [0]

Народ! Помогите! Короче, я написал чат для локальной сети и хочу сделать так, чтобы при запуске чата, он сам автоматически искал серверы в сети, а если они не найдены, создает сам. Также надо сделать так чтобы при отключении сервера создавался новый и все клиенты конектились к этому серверу. Как всё это организовать!?


 
Snap   (2003-05-26 11:46) [1]

S pomoishju klientskih i servernyh soketov.


 
Vlad Oshin   (2003-05-26 12:29) [2]

Через бродкаст

Клиент по бродкасту спрашивает кто сервер, сервер ему отвечает, если никто - то по бродкасту говорит всем, что он сервер.
Если 2 компа заявили что они серверы, то случайно выбирается из них один


 
Digitman   (2003-05-26 13:09) [3]


> Если 2 компа заявили что они серверы, то случайно выбирается
> из них один


... а другой ? половина клиентов будет работать с одним сервером, а половина - с другим ?) а между собой серверы - "не вась-вась" ? ... это что же за хрень получится !))

Если уж на то пошло, еще серверы должны "уметь" искать друг-друга и обмениваться по спец.протоколу, дабы клиенты разных серверов не были изолированы и могли общаться друг с другом


 
Vlad Oshin   (2003-05-26 14:51) [4]


> > Если 2 компа заявили что они серверы, то случайно выбирается
>
> > из них один

а другой отказывается

как в борьбе за право вещания


 
Digitman   (2003-05-26 15:03) [5]


> а другой отказывается


ну и как же клиенту, выбравшему "случайно" Сервер1 , общаться с клиентами Сервера2 (который "случайно" не был выбран) ?


 
Vlad Oshin   (2003-05-26 15:10) [6]

тот, кто не отказался еще раз(повторно) шлет, что сервер он


 
Digitman   (2003-05-26 15:33) [7]


> Vlad Oshin


ниччего не пойму) ... кто от кого отказался ? сервер от клиента ? или клиент от сервера ?


 
Vlad Oshin   (2003-05-26 15:44) [8]

вдруг 2 машины захотели стать серверами

от них другие уже получили это известие и не лезут в соревнование за право быть сервером

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

Все в это время молчат и ждут повторной заявки от кого-либо

Ну, принцип

> как в борьбе за право вещания

в сетке.


 
Vlad Oshin   (2003-05-26 15:48) [9]


> они (те 2 машины, крые хотят быть серверами), начинают м/д
> собой выяснять отношения. Например, шлют друг другу число,
> и у кого больше, повторно оповещает всех, что он сервер

а лучше ждут случайное время и - повтор заявки. Кто первый, тот и сервер.


 
Digitman   (2003-05-26 15:59) [10]

дело в том, что UDP - протокол без гарантии доставки (квитирования) сообщений

Вероятность того, что в сети из-за недоставки по каким-то причинам UDP-пакетов (в момент "выяснения отношений") начнут существовать более одного сервера, далеко не нулевая. А это - бардак.

Нет, imho, все же в сети должны постоянно работать один или более серверов (которые "умеют" поддерживать между собой "межсерверные отношения" по TCP/IP). Тогда клиент, подключившийся к одному из найденных серверов (т.е. ответивших на клиентский broadcast-запрос адреса при поиске серверов), будет иметь возможность работать с клиентами как своего так и других серверов.



 
Vlad Oshin   (2003-05-26 16:10) [11]

ну если UDP, то конечно

а мне кажется тут
C:\Program Files\Borland\Delphi5\Demos\Internet\Chat
:)


 
Digitman   (2003-05-26 16:23) [12]


> Vlad Oshin



> C:\Program Files\Borland\Delphi5\Demos\Internet\Chat


дурней примера я не видал) ... в условиях глоб.сети работать не будет... да и в ЛВС - под большим вопросом !

ну а к тому механизму, о коем мы тут с тобой разглагольствуем, пример вообще отношения не имеет)


 
Paylik   (2003-05-26 16:44) [13]

А как организовать бродкаст?


 
Digitman   (2003-05-26 17:01) [14]


> Paylik


эх и влипнешь ты с ним !

используй UDP-протокол

либо с пом. WinsockAPI либо компонентов Делфи, его инкапсулирующих


 
def   (2003-05-29 14:17) [15]

UDP по-любому
без проблем и траханья с серверами и клиентами



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
4-10510
blackgrin
2003-05-31 21:01
2003.08.04
Управление другим приложением, запущеным на этой-же машине


3-10096
seregin
2003-07-14 10:48
2003.08.04
ошибка в IB-базе


1-10224
LedWorm
2003-07-20 21:42
2003.08.04
Как узнать кол-во файлов в папке ?


1-10304
ilka
2003-07-22 15:24
2003.08.04
как выбрать директорию?


14-10446
___Nikolay
2003-07-18 06:14
2003.08.04
Как пользоваться CRON-ом?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский