![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Vinni37 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 25.6.2008 Репутация: нет Всего: нет |
Во общем проблема в следующем, у меня северный сокет блокирующий (stThreadBlocking) (Писал этот сервер не я, я пытаюсь с ним только разобраться), у сокета выставлено OnAccept := ClientAccept, в ClientAccept создается поток следующего типа:
Куда в fClientSocket записывается TCustomWinSocket который передается при OnAccept. После старта нового потока в Execute происходит в цикле while чтение из сокета что то типа этого:
Собственно 99% времени сокет находится в заблокированном состоянии ожидая запроса от клиента. Вот тут то и возникает проблема что иногда требуется отправить клиенту пакет для этого вызывается SendPacket клиентского потока, и как только дело доходит до fClientSocket.SendBuf он естественно зависает так как первым было вызвано чтение из сокета, и отправка идет только когда клиент что нибудь пришлет. Как это обойти при использовании блокирующих сокетов. За ранее спасибо. |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
емнип, у TCustomWinSocket есть функции проверки, есть ли что в буффере входящем. Точно не скажу, как называются - делфи под рукой нет.
Это сообщение отредактировал(а) MetalFan - 9.2.2011, 09:53 -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |