Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.04;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
7-10474
Black
2003-05-23 14:24
2003.08.04
Как вырубить питание?


7-10486
Disa
2003-05-22 07:50
2003.08.04
Изменение раскладки


6-10343
ers
2003-05-28 11:09
2003.08.04
Как проверить работоспособность сервера?


4-10524
xn0bys
2003-06-02 16:29
2003.08.04
Как сделать так, чтоб использование процессора было не 100%


6-10327
Paylik
2003-05-25 13:53
2003.08.04
Поиск серверов чата в сети