Главная страница
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.025 c
3-1108993428
den_777
2005-02-21 16:43
2005.03.20
Как заставить INTERBASE изменить план


1-1110201679
WebPauk
2005-03-07 16:21
2005.03.20
отрисовка


3-1108648358
Pluto
2005-02-17 16:52
2005.03.20
Размер базы данных


4-1107710603
Лёха
2005-02-06 20:23
2005.03.20
Owner Draw


14-1109327442
Vit@ly
2005-02-25 13:30
2005.03.20
Gmail.com. Примерно с месяц полтора назад