Главная страница
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.041 c
1-1109782687
Lakshmy
2005-03-02 19:58
2005.03.20
Выделение нескольких строк в TStringGrid


3-1108705826
Layner
2005-02-18 08:50
2005.03.20
Как передать параметр в ХП MSSQL


1-1110347541
Vilux
2005-03-09 08:52
2005.03.20
Timer в dll


1-1109953284
Tirex
2005-03-04 19:21
2005.03.20
XP Themes and TToolBar.AdvancedCustomDrawButton


1-1109767666
Васек1
2005-03-02 15:47
2005.03.20
Значение по умолчанию в поле fkCalculated