Главная страница
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.018 c
14-63761
RV
2003-02-03 15:52
2003.02.20
Перепись населения .....уже N+1 или Гоголь отдыхает


6-63728
Supreme
2002-12-25 14:22
2003.02.20
Ну не получается блин....


4-63893
Solod
2003-01-08 05:49
2003.02.20
---|Ветка была без названия|---


6-63725
John
2002-12-27 19:51
2003.02.20
Консоль и TServerSocket


3-63568
kok
2003-02-03 17:15
2003.02.20
QuantumGrid - торможу.