Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

TClientSocket & TServerSocket   Найти похожие ветки 

 
Grant   (2005-01-11 14:56) [0]

Может кто-нибудь сталкивался с такой проблемой. Обычно есть один компонент TServerSocket и несколько TClientSocket. У меня наоборот. Мне необходимо от TClientSocket посылать сообщения каждому TServerSocket(на разных компах). Если TClientSocket активен, то он не даёт менять свои настройки. Подскажите, пожалуйста, как из такой ситуации выкрутится?


 
Digitman ©   (2005-01-11 16:20) [1]


> Обычно есть один компонент TServerSocket и несколько TClientSocket


не пори чушь.
нет никаких "обычно" по этому поводу.


> Если TClientSocket активен, то он не даёт менять свои настройки.
> Подскажите, пожалуйста, как из такой ситуации выкрутится?


"настрогать" роувно столько объектов класса TClientSocket, сколько требуется соединений с соответствующими объектами класса TServerSocket


 
Eraser ©   (2005-01-12 01:33) [2]

Создавай их динамически внутри процедуры или потока, откуда хочешь отсялать данный (только потом не забудь их освободить).
А вообще переходи на Indy.


 
Beglec   (2005-01-12 16:58) [3]

Уважаемый Eraser
а чем прниципиально отличаются TSocket от Indy компонентов того же уровня


 
Digitman ©   (2005-01-12 17:35) [4]

из соображений кроссплатформенности инди-гнезда (имеются ввиду гнезда как объекты ОС, а не как компоненты Делфи-среды)инициализируются для последующей работы с ними в синхронном блокирующем режиме


 
Eraser ©   (2005-01-12 20:30) [5]

>> Digitman ©
Это точно, в инди используются только блокирующие сокеты,
>> Grant
ну если хочешь, чтобы приложение не подвисало можешь попробовать компонент idAntifreze (пишется как-то так :)), если его правильно настроить- все работает нормально.
А вообще я сталкивался с проблемой, когда нужно создавать много клиентов (для отсылки запроса), лучше всего их (клиенты) создавать в какой-либо одной процедуре, а затем уничтожать. В идеале их можно создавать в отдельном потоке.
А вот компонент idUDPServer, как ни пытался я создавать динамически (внутри DLL) ничего не вышло- хоть убей не перехватывалось OnUDPRead, хотя я создал метод-событие 100%, дугие компоненты (таймеры) работали как часы ;-))
Нашёл выход из этой ситуации, поместив в dll форму, а на неё положил компонент- заработло ;-) правда dll потяжелела.
Вот такая грустная история...



Страницы: 1 вся ветка

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
14-1109161737
Sleepwalker
2005-02-23 15:28
2005.03.20
Загрузка WinXP


14-1109169966
IronHawk
2005-02-23 17:46
2005.03.20
Паучек!


1-1109855734
HanIP
2005-03-03 16:15
2005.03.20
Получение времени с сервера.


14-1109255082
Ирина
2005-02-24 17:24
2005.03.20
Крис Касперский


1-1109696607
Shnabs
2005-03-01 20:03
2005.03.20
Текст