Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2007, 16:44   #1
Nemiroff
 
Регистрация: 25.10.2007
Сообщений: 9
Восклицание Помогите с определением ника по чату в локалке

Чат написан на UDP , я знаю ip адреса всех участников чата, но с ip'шниками чатится не оч то интересно Помогите плиз,как организовать рассылку Введёного ника, и распознования его...
Ник вводится 1 раз при 1 запуске проги, после чего записывается в файл, изменить его моно ток через настройки, а вот как его передать другим участникам чата???
Nemiroff вне форума Ответить с цитированием
Старый 10.11.2007, 16:58   #2
Kukkk
Форумчанин
 
Регистрация: 28.06.2007
Сообщений: 123
По умолчанию

Передавать :Ник;Месаг И разделять..

Label10.Caption:=(copy(s,1,pos(';', s)-1));
Label11.Caption:=(copy(s,pos(';',s) +1,length(s)-pos(';',s)));

S:приходящий пакет))
Kukkk вне форума Ответить с цитированием
Старый 10.11.2007, 17:13   #3
Teen4jump
Пользователь
 
Аватар для Teen4jump
 
Регистрация: 19.06.2007
Сообщений: 88
По умолчанию

IdUDPClient1.Send(Ник+': '+Edit1.Text);
Teen4jump вне форума Ответить с цитированием
Старый 11.11.2007, 09:01   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Если в чате используется сервер, а не только клиенты, то на сервере храните массив соответствия нику-ip. А получайте это соответствие после коннекта
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 11.11.2007, 17:19   #5
Nemiroff
 
Регистрация: 25.10.2007
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Kukkk Посмотреть сообщение
Передавать :Ник;Месаг И разделять..

Label10.Caption:=(copy(s,1,pos(';', s)-1));
Label11.Caption:=(copy(s,pos(';',s) +1,length(s)-pos(';',s)));

S:приходящий пакет))
Это не подойдёт, т.к. мне нужно соответствие ip с ником, чтоб моно было писать сообщение 1 участнику отдельно
Nemiroff вне форума Ответить с цитированием
Старый 11.11.2007, 17:22   #6
Nemiroff
 
Регистрация: 25.10.2007
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Если в чате используется сервер, а не только клиенты, то на сервере храните массив соответствия нику-ip. А получайте это соответствие после коннекта
А откуда в этот массив заносится ник? Что за массив и как до него добраться? И если можно, то напримере плиз
Nemiroff вне форума Ответить с цитированием
Старый 12.11.2007, 12:58   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Всмысле как до нег одобраться ? его вам надо создать )
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.11.2007, 13:12   #8
Nemiroff
 
Регистрация: 25.10.2007
Сообщений: 9
По умолчанию

Понятно) Т.е. вы мне предлагаете создать 2х мерный массив, где по порядку идёт :
ник1 ip1
ник2 ip2
.............
У меня была такая мысля, но тут будет проблема с одинаковыми никами, а проверять повторяющие ники не целесообразно, т.к. компы в чат могут входить не одновременно...вот например: есть 3 компа, связанные в локалку.Сначала коннектится 1 и 2, вводит ники, чатятся и тд...потом оба дисконнектятся, а потом коннектятся 1 и 3, и 3 вводит такой же ник как и 2, а через некоторое время заходит 2 и ему месаг :"Извините,но такой ник занят"... он буит в полном недоумнии, тк по идее он первый ввёл этот ник

Последний раз редактировалось Nemiroff; 12.11.2007 в 13:16.
Nemiroff вне форума Ответить с цитированием
Старый 12.11.2007, 13:19   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Все зависит от вашей идеологии. Либо вы принимаете один к одному IP-NIC , либо многие ко многим, в зависимости от этого и нужны выбирать методологию проверки
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 15.11.2007, 23:14   #10
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

хех вот тебе полезный савет дали ! Я до этого сам допёр ! Пиши так :

IdUDPClient1.Send(FORM2.Edit2.Text' #-#'+Edit1.Text);
Соответственно FORM2.Edit2.Text это edit например на 2-ой форме (ак ты говариш настройки)
А IP с которого пришол месаг можно узнать так : ABinding.PeerIP (это будет переменная типа string!).
Вот и пиши в чате :
"Ник : 255.255.255.255
Всем привет !=)"
при вводе в строчку чата вписывая ник будеш искать сееответствующий IP и так : IdUDPClient1.host:='полученный IP';//и канечно незабудь показать юзеру что он пишет комуто в приват а не всем !
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с определением внешнего ключа! veter_s_morya SQL, базы данных 1 26.06.2008 18:37
Подсветка ника, и ip-онлайн Revan Общие вопросы Delphi 1 02.06.2008 20:53
У меня возникла небольшая проблемка с определением последнего активного окна. hoza_syl Помощь студентам 6 23.05.2008 17:03
Помогите настроить Чат по Локалке HAMMAN Свободное общение 1 17.07.2007 20:29
Помогите с определением названия диска londoner Общие вопросы Delphi 2 15.02.2007 17:30