Главная страница
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
3-63589
sdram
2003-02-04 13:59
2003.02.20
Как узнать имена полей в таблице?


14-63786
БИС
2003-02-03 10:39
2003.02.20
Есть ли программисты, которые не пьют пива или это нонсенс ?


7-63883
Геннадий
2002-12-18 21:10
2003.02.20
TCheckBox - как изменить цвет галочки?


7-63858
SashaS
2002-12-19 12:44
2003.02.20
Требуется помощь по свойствам обьектов


1-63629
Lamerman
2003-02-11 16:28
2003.02.20
Как узнать код выделенного в Memo символа?