Ответ: TCP\IP клиент-сервер загвоздка
Можно попробовать размазать опрос по времени, внеся правку: читать полученные сообщение не "пока не прочитан PACK целиком", а "N байт и выходить из обработки". Но такая асинхронность выйдет боком: код запутается и станет скорее изыском, лучше, конечно, запилить асинхронность на потоках. Например (при неимении возможности поступить как советует moka), написать dll на чём-то многопоточность поддерживающем, и либо общаться через блокирующие blitz-прогу функции (ЕстьЛиГотовыйПак(), ПролучитьЗагурженныйПак()), либо через общий буфер (число, возвращаемое CreateBank - реальный адрес памяти, который можно использовать в DLL), имеющий маркер (изменяемый атомарно) для управления синхронизацией ("пакет готов","ожидаю следующий пакет") и область под тело пакета.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|