Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > TCPSockets - thread blocking


Автор: Dubinsky 10.10.2005, 18:30
работаю с ClientSocket - ServerSocket , умею всё что вроде нужно полноценному приложению - склеиваю инфу на входе , работаю со своим псевдопротоколом ну и т.д. но вот возник у меня вопрос , что такое Server type (NonBlocking - ThreadBlocking) ? точнее я даже примерно понимаю смысл сего свойства , но не видел ни одного рабочего примера со включенным свойством ThreadBlocking ... я пробовал сделать такой , но ничего не происходит как бы я не старался отослать хоть байт информации ...с какого бока подойти не понимаю ...есть подробная информация у кого по данной теме ?

Автор: Snowy 13.10.2005, 09:23
Вот здесь почитай:
http://dermuz.front.ru/sockets.html

Автор: Dubinsky 13.10.2005, 14:31
уххх спасибо , статью , увидел бы раньше сэкономил бы массу времени ...

как я понял синхронные сокеты при отправке только блочат управление или при приёме тоже ?(допустим я принял данные и мне нужно подождать пока я их обработаю ...пока не прогналось событие OnRead , то синхронный сокет блочит приём или нет ?)

маленький вопросик до кучи ... по каким принципам выбирается порт для сетевых приложений ?

Автор: Snowy 13.10.2005, 23:27
В синхронном режиме ты можешь либо только получать, либо только отправлять.
В асинхронном можешь одновременно.
в TreadBlocking то же, что и в асинхронном, только работа выполняется в отдельном потоке.
Для серверов это хорошо, только памяти требует больше.

Автор: Dubinsky 14.10.2005, 16:24
он блочит как ? по принципу пока не прошло событие OnRead ? или внутренне - пришла информация - он в буффер скинул и всё , поток разблочил ?

Автор: Snowy 14.10.2005, 21:37
Цитата(Dubinsky @ 14.10.2005, 16:24)
он блочит как ? по принципу пока не прошло событие OnRead ? или внутренне - пришла информация - он в буффер скинул и всё , поток разблочил ?

Нет. OnRead происходит по мере поступления информации блоками. А блокировка на уровне сокета - пока вся информация не будет передана.

Автор: Dubinsky 17.10.2005, 13:25
мда , значит самому надо будет , ну да ладно ...

спасибо !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)