Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.02.20;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
14-63850
JibSkeart
2003-02-02 13:13
2003.02.20
А помимо программирования сдеся увлекается музыкой ??


4-63902
nsvi
2003-01-09 15:13
2003.02.20
Как получить список доступных фонтов?


3-63571
CPPBuilderDev
2003-02-04 10:05
2003.02.20
Уважаемые коллеги, нужна Ваша помощь!


1-63604
Наташа
2003-02-11 12:13
2003.02.20
выпадающий список


6-63717
Власяня
2002-12-26 21:41
2003.02.20
Удалённый доступ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский