2014-05-02 1 views
0

Изначально у меня возникла проблема с включением опции keep-alive (), которая блокирует следующие вызовы клиентов. Только первый вызов, который получает ответ).gSoap: заголовок keep-alive обязателен для асинхронного сообщения?

И теперь мне нужно реализовать некоторые асинхронные веб-службы, используя gSoap.

So AM Я обязан включить keep-alive для реализации асинхронных веб-сервисов?

Большое вам спасибо!

ответ

0

Чтобы получить некоторый фон, установление TCP-соединения имеет значительные накладные расходы на настройку. Цель keep-alive состоит в том, чтобы уменьшить задержку, позволяя избежать этих накладных расходов при последующих подключениях, повторно используя уже открытое TCP-соединение, а не полностью создавать новое соединение с нуля.

Вы можете получить функциональные возможности веб-службы, не используя keep alive (в конце концов, сохранить вживую был введен в HTTP/1.1, а HTTP/1.0 долгое время работал без поддержки). Тем не менее, вы наверняка испытаете худшую производительность, чем если бы вы поддерживали поддержку. Следует также отметить, что, когда дело доходит до установления соединений на мобильных устройствах, срывание предыдущих подключений и создание новых соединений полностью с нуля, а не сохранение соединения и повторное использование, это может также иметь последствия для батареи. В частности, закрытие и открытие соединения может привести к тому, что радио перейдет в спящий режим, а затем снова проснется, и радиоприемник обычно тратит больше энергии, когда переходит от сна к бодрству, чем в устойчивом состоянии.