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

Вниз

Socket & SendText   Найти похожие ветки 

 
yura1975   (2002-12-28 22:22) [0]

Есть сервер, к нему подключено несколько клиентов, вопрос - как послать мессаже только конкретному клиенту?

ServerSocket1.Socket.Connections[0].SendText(Edit1.Text);

так я не могу послать потому что клиенты периодически отключаются!
есть такое свойство как SocketHandle оно у клиента постоянное, но как им воспользоваться - непойму,
помогите если не сложно.


 
really_Deflorator   (2002-12-28 22:42) [1]

Чувак!
Всё очень просто! Меняй вон тот галимый нолик на другую цихферку и всё!


 
yura1975   (2002-12-28 23:02) [2]

Ну конечно просто, понятно что там тот ноль делает,
но не могу понять другого я, как из допустим 10 клиентов
определить допусим кто 0, 1, 2, 3, 4...
Мессаже допустим пришел от 3-го, а как мне ему лично послать в ответ нужный мессаже?
И если опять же допустим в это время тот клиент, что был на 0, 1
или 2 отсоединяется, то 3-й может стать и 0 даже. Цифры то смещаются.


 
really_Deflorator   (2002-12-28 23:18) [3]

Попробуй организовать динамический массив записей, в которых и будут записаны данные о подключенных чуваках (ну, ip там, ещё чего).
Моё ленивое воображение подсказывает пока только это.


 
yura1975   (2002-12-29 00:34) [4]

Да моё воображение тоже чтото типа этого и предлагает, но опять но:
- насчет ip это я думаю непоможет, наврятли;
- у меня есть уникальное значение для каждого клиента SocketHandle и оно не меняется на протяжении всего сеанса связи клиента с севером. Его то я ми собираюсь в массив записывать, но как мне его потом использовать для идентификации клиента, можна ли из него выйти на
ServerSocket1.Socket. Connections[i].SendText(Edit1.Text);
тоесть мну нужно будет через нево найти i и подставить в процедуру упомянутую выше!


 
yura1975   (2002-12-29 00:43) [5]

Сам задал вопрос сам и ответ на него нашол(на Рамблере!):

{Перебираем все установленные соединения}
For i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
{Проверяем - если идентификатор очередного сокета не совпадает с идентификатором сокета, приславшего сообщение, то...}
if ServerSocket1.Socket.Connections[i].SocketHandle <> Socket.SocketHandle
then ...



 
really_Deflorator   (2002-12-29 21:18) [6]

Тю... и я тоже... только хотел отписать...


 
Polevi ©   (2002-12-29 22:28) [7]

>Мессаже допустим пришел от 3-го, а как мне ему лично послать в ответ нужный мессаже?
в OnRead передается нужный тебе сокет



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
7-63879
mBorovik
2002-12-19 09:18
2003.02.20
Сервисы на Дельфи


14-63802
Intras
2003-02-04 11:38
2003.02.20
PGP SDK


7-63882
Michael Makushev
2002-12-23 16:37
2003.02.20
Компонента ComPort и Гипертерминал...


1-63658
loginov
2003-02-11 23:38
2003.02.20
просмотр таблицы excel в своем приложении


6-63726
Mischka
2002-12-27 14:22
2003.02.20
Просмотр расшаренных ресурсов