Главная страница
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.019 c
3-63482
mate
2003-02-02 12:46
2003.02.20
Выделение записи


8-63685
Юрий
2002-11-08 14:07
2003.02.20
Надпись под углом


3-63531
Andrey V.
2003-01-31 15:20
2003.02.20
Проблема с базой Interbase


4-63900
Kruger
2003-01-09 22:35
2003.02.20
Директория Win


3-63559
Max_9999
2003-02-03 14:07
2003.02.20
DBGrid и ListView?