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

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

IdTcpClient и дополнительный поток [D7, XP]


Pasha L ©   (2007-02-07 00:33:00) 

Здравствуйте.
У меня есть форма, в ней создан дополнительный поток. На форме есть idtcpclient. Вопросы:
1) Как законектить, послать запрос, расконектить клиент из дополнительного потока.
2) Можно ли сделать как-нибудь так, чтобы клиент не находился в другом потоке, чтобы не приходилось осуществлять синхронизацию? Этот клиент используется только в дополнительном потоке (в подпрограммах класса формы не используется)

Делаю так:  if not synch.BeginWrite then
   exit;
 form1.idtcpclient2.Connect;
 form1.idtcpclient2.Write(formpostrequest(saluthost,'sender.php',['session='+session,'mesg='+words,'whisper=nuke_them']));
 form1.idtcpclient2.ReadFromStack;
 form1.idtcpclient2.disConnect;
 synch.EndWrite;

synch:TMultiReadExclusiveWriteSynchronizer;

Но вылезает ошибка.


Pasha L   (2007-02-08 15:28:00) [1]

просто при idtcpclient1.create как аргумент нужно указать компонент, где будет создан клиент. что прописывать? я подумал, что его прост онужно создать на главной форме, вот и всё.


Сергей М.   (2007-02-08 08:13:00) [2]


> Этот клиент используется только в дополнительном потоке


А зачем тогда MultiReadExclusiveWriteSynchronizer, если IdTCPClient не используется нигде кроме как в одном-единственном потоке ?


Pasha L   (2007-02-07 17:31:00) [3]


> Большая и ужасная ?)

Socket error #10049 Cannot assign requested adress


Сергей М.   (2007-02-07 08:17:00) [4]


> вылезает ошибка


Большая и ужасная ?)


Германн   (2007-02-07 01:51:00) [5]

Используй ICS от Франсуа Пиетт http://www.overbyte.be/frame_index.htmlи насладись нормальнойработой.
Нормальной работой я считаю работу без доппотоков в тех случаях, когда система поддерживает асинхронность!


Pasha L   (2007-02-07 01:07:00) [6]

Сорри.

formpostrequest со всеми аргументами - это функция, формирующая запрос.

все переменные, использующиеся в приведенном блоке принадлежат данному потоку. synch тоже объявлен в данном потоке


Наверх

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