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

Вниз

Чат без основного сервера!   Найти похожие ветки 

 
dr Tr0jan   (2004-02-02 07:28) [0]

Хочу написать чаталку в сети, на основе Indy! Но чтобы не было основного сервера, т.е. каждый комп являлся бы и клиентом, и сервером. Поэтому возникают вопросы:
1) Как выводить список компов в локалке, на которых запущена моя прога;
2) Как реализовать, чтобы каждый комп являлся и клиентом, и сервером: делать их разных портах не очень хочется.


 
VideoLord   (2004-02-03 18:49) [1]

Я как-то решал такую задачу.
В проге используется UDP клиент и сервер. Сервер слушает порт например 1234. Клиент может слать на этот порт какие-то данные.

При загрузке прога шлет броадкаст-пакет (то есть всем в локалке) с сообщением типа "народ, я пришел. меня зовут юзер", затем шлется такой же броадкаст с сообщением "ау, а кто здесь есть-то ?".

Остальные получают эти пакеты и добавляют у мебя в список пользователей этого юзера с его ипом, и шлют ему сообщение типа "я тоже тут, меня зовут юзер2"

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


 
able   (2004-02-03 18:56) [2]

как пример (на мой взгляд - идеальный) см. DefloChat


 
Fay   (2004-02-03 20:10) [3]

"народ, я пришел. меня зовут юзер" + "ау, а кто здесь есть-то ?" = "народ, я пришел. меня зовут юзер. ау, а кто здесь есть-то ?"


 
VideoLord   (2004-02-03 20:26) [4]

Ну, лучше запрос "кто здесь" слать отдельной командой, чтобы можно было потом сделать кнопочку F5 (обновить) :-)


 
dr Tr0jan   (2004-02-04 06:06) [5]

2 able ©:

А где его исходники найти?


 
able   (2004-02-04 15:07) [6]

2 dr Tr0jan ©
в яндексе.


 
dr Tr0jan   (2004-02-05 03:00) [7]

Удалено модератором



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

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.031 c
1-79845
KOSTIK
2004-02-10 19:20
2004.02.25
Рисунок из TImageList в TImage


1-79932
Dimedrol
2004-02-09 16:08
2004.02.25
Прорисовка disabled иконок на кнопках


1-79735
h0use
2004-01-23 13:08
2004.02.25
Соответсвие индекса и названия языка в Language Info в заголовке


1-79792
RusGrek
2004-02-10 16:41
2004.02.25
Использование VarToDateTime


14-80112
N169
2004-02-02 16:32
2004.02.25
Программист назвал сына версией 2.0 :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский