Главная страница
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.019 c
11-10149
savva
2002-11-29 12:02
2003.08.04
Я тут совершенно недавно подсел на KOL и MCK...


6-10341
Кен
2003-05-28 02:30
2003.08.04
Где взять TWebBrouser ? У меня раньше был Дельфи 5, и там он


14-10354
Andryk
2003-07-18 17:51
2003.08.04
Ура наконец-то нашли способ боротся со спамом :о))


3-10111
Duce
2003-07-09 09:51
2003.08.04
Через чего лучше заходить на MS SQL из Дельфи?


3-10115
abc
2003-07-14 10:50
2003.08.04
как не визуальными средствами создать вычисляемое поле?