Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ClientSocket&ServerSocket [D6, D7, Win2k, WinXP]


Страницы:   1 2

maxim161 ©   (2006-01-30 08:06:00) 

Почему при посылке string с ClientSocket на ServerSocket (и наоборот) на несколько компьютеров, т.е., например с 1 ПК на 2, с 1 на 3...и т. д., между ПК, требуется интервал (задержка) времени? Может быть есть компонент, который может за долю секунды отправить string сразу на несколько компьютеров?


maxim161   (2006-02-21 19:51:00) [1]

-=up=-


maxim161   (2006-02-21 09:29:00) [2]


> ну... ты ж их откуда то берешь... не методом же тыка...
> :-)

Беру из списка (файл)... :о


ivane   (2006-02-20 09:39:00) [3]

ну... ты ж их откуда то берешь... не методом же тыка... :-)


maxim161   (2006-02-19 08:13:00) [4]

А откуда я знаю сколько хостов будет в моей программе?


ivane   (2006-02-18 00:36:00) [5]

maxim161, а не проще создать столько ClientSocket`ов сколько у тебя адресатов и затем просто дружно пустить их всех на коннект? А в onConnect написать код, который реализует отправку данных с последующим дисконнектом. Это по "скорострельности" будет лучше, т.к. каждое соединение вцелом получается независимым от остальных(данное утверждение истинно, если пропускной способности сети хватает для обеспечения необходимой скоростью всех соединений одновременно). Хотя тут нужно продумать блокировку клавиши, если идёт речь о случае, который описан atruhin`ом.


atruhin   (2006-02-17 14:11:00) [6]

Я об этом и говорю! Если у него эта процедура будет вызываться по нажатию на кнопку, и если она нереентабельна то возможен трудноотслеживаемый глюк. Вторичный вызов процедуры до окончания внутреннего цикла.


Digitman   (2006-02-16 14:48:00) [7]

Удалено модератором


Digitman   (2006-02-16 14:48:00) [8]


> atruhin ©   (16.02.06 14:42) [23]


Автор - "батонокидатель".
На него и расчитано.


atruhin   (2006-02-16 14:42:00) [9]

>> [18] Digitman ©   (16.02.06 08:27)
>>while not CS.Active do
>>   Application.ProcessMessages;
А вот такой код писать я бы посоветовал только если очень хорошо понимаешь что делаешь (на автора ветки не похоже). Предположим у него отправка по нажатию на кнопку. Сокет начинает соединение, интерфейс работает, пользователь жмет на кнопку повторно. Автор бежит сюда: "Ваш код не работает" :)


Digitman   (2006-02-16 13:58:00) [10]


> maxim161 ©   (16.02.06 13:50) [21]


Свинячишь ты.
Откровенным образом.

У тебя под рукой всегда :
- MSDN,
- Winsock2 Programmer's Reference Help
- book.itep.ru
- Гугль (или иная поиск.система Рунета)  в конце-концов

Что, хочешь сказать что нигде из перечисленного ты не видел ни намека на сабж ?

Врешь.


maxim161   (2006-02-16 13:50:00) [11]

Вот я и спрашиваю, как надо использовать SetSockOpt(). ;\


Digitman   (2006-02-16 13:41:00) [12]

На то и форум, чтобы задать вопрос типа, мол, вот ЭТО КОНКРЕТНО я не понял, мол, прокомментируйте если есть возможность..


maxim161   (2006-02-16 13:22:00) [13]


> При этом следует убедиться что что у гнезда установлена
> опция SO_LINGER (см. SetSockOpt)


Что-то я поразбирался с SetSockOpt, ничего не понял...


Digitman   (2006-02-16 08:27:00) [14]


> Без задержки он у меня ничего не успевает отправлять


Ах вон ты о чем оказывается) ..

В режиме ctNonBlocking успешное выполнение метода Open() еще не говорит об установлении коннекта с сервером - об этом скажет св-во Active = True :

CS.Open;
while not CS.Active do
 Application.ProcessMessages;
while CS.SendText('Строка') = -1 do;
CS.Close;

При этом следует убедиться что что у гнезда установлена опция SO_LINGER (см. SetSockOpt)


maxim161   (2006-02-15 17:53:00) [15]

Ого... Что-т инет у меня заглючил... ;\


maxim161   (2006-02-15 17:52:00) [16]


> А задержку-то зачем делаешь ?!
> Ты же сам сказал, что она тебе, мол, не нужна, и сам же
> ее при этом делаешь)..


Без задержки он у меня ничего не успевает отправлять


maxim161   (2006-02-15 17:50:00) [17]


> А задержку-то зачем делаешь ?!
> Ты же сам сказал, что она тебе, мол, не нужна, и сам же
> ее при этом делаешь)..


Без задержки он у меня ничего не успевает отправлять


maxim161   (2006-02-15 17:50:00) [18]


> А задержку-то зачем делаешь ?!
> Ты же сам сказал, что она тебе, мол, не нужна, и сам же
> ее при этом делаешь)..


Без задержки он у меня ничего не успевает отправлять


Digitman   (2006-02-14 14:13:00) [19]


> сокет закрываю, ч\з определенное количество времени ("задержку"
> (тот самый интервал)) проделываю тоже самое для нового хоста


А задержку-то зачем делаешь ?!
Ты же сам сказал, что она тебе, мол, не нужна, и сам же ее при этом делаешь)..

Ты сокет закрыл ? Закрыл. Значит тут жесмело можно менять параметры (то же св-во Host, к примеру) и тут жевыполнять открытие


maxim161   (2006-02-14 13:34:00) [20]

При том, что клиент-сокет у меня подключается, например, к 10 компам. Я, устанавливаю компоненту хост, открываю сокет, отправляю стринг, сокет закрываю, ч\з определенное количество времени ("задержку" (тот самый интервал)) проделываю тоже самое для нового хоста.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо