если другой код не работает, попробуйте этот код.
(GET "/about/" [] (ring.util.response/content-type
(ring.util.response/resource-response "about/index.html" {:root "public"}) "text/html"))
Я предполагаю, что вас беспокоят накладные расходы на создание HTTP-соединение. NSURLConnection достаточно умен, чтобы справиться с этим для вас, используя HTTP / 1.1 и повторно используя существующие соединения. Он не использует конвейерную обработку в прошлый раз, когда я проверял, но для вашей цели повторного использования соединения должно быть достаточно. Я настоятельно рекомендую вам установить сетевой сниффер и убедиться, что он работает так, как вы хотите.
Стоимость создания самих объектов тривиальна, порядка одного раза в 5 секунд, и вам не следует пытаться оптимизировать это (хотя, конечно, вы должны повторно использовать NSURL). Открытие соединения с сервером - дорогое удовольствие, особенно на iPhone.
Если вы обнаружите, что вам действительно нужна конвейерная обработка, вам, к сожалению, придется откатить собственный. Я слышал, что CFHTTPStream может это делать, но я не вижу много доказательств этого. CocoaAsyncSocket - лучший выбор для низкоуровневого доступа к сокетам без необходимости писать низкоуровневый код.
Поскольку задержка в сотовой сети может быть очень большой, возможно, что для завершения вашего соединения потребуется больше 5 секунд.
make a method that returns a request and do
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:[self requestMethod] delegate:self];
?