Acabo de comenzar el desarrollo en Macs y he descubierto que Cocoa es un marco útil y atenta, pero su funcionalidad HTTP me ha dejado perplejo.POST de archivo HTTP asincrónico y atómico con comentarios razonables
Tengo un objeto NSURLConnection para descargar un archivo de mi servidor web utilizando el método HTTP GET. La conexión asíncrona de NSURLConnect es excelente, obtengo muchos comentarios, obtengo cada fragmento recibido como un nuevo objeto NSData que puedo usar para reconstruir atómicamente el archivo en el extremo del cliente y, lo que es más importante, proporcionar al usuario un informe de progreso: [longitud de mis datos ]
Las cargas, sin embargo, no están ni por asomo. Puede pegar una solicitud síncrona en su propio hilo o llamar a una solicitud asíncrona (que creo que genera su propio hilo), pero ninguno le proporciona ningún comentario útil. No hay delegados que soliciten datos o incluso me avisen cuando se envíen los datos. Es de suponer que esto me limita a archivos más pequeños que la memoria disponible.
Mi pregunta es, por lo tanto, ¿hay una solución simple y elegante para HTTP POST cargar archivos utilizando Cocoa que proporciona una buena cantidad de comentarios y la capacidad de leer archivos parte por parte, en lugar de todos a la vez? ¿O debería escribir mi propia clase desde la funcionalidad de redes de bajo nivel?
Gracias!
¿Por qué no dejarlos ir en sus propios hilos? Puede usar NSOperation para asegurarse de que no está creando/gestionando/etc. toneladas de hilos que no necesitas ¿Qué tipo de retroalimentación de datos espera de una operación POST? –
La cantidad de datos que he cargado hasta el momento. Estoy tratando con archivos potencialmente grandes, por lo que debo proporcionar al usuario una barra de progreso o algo así. Enhebrar no es tanto el problema, es más la capacidad de cargar archivos, parte por parte y obtener comentarios. ¡Apoyos para la respuesta absurdamente rápida! – Dani
¡Ah, está bien! Probablemente yo solo rodaría algo yo mismo. Estoy bastante seguro de que vi una clase decente para NSURL con funcionalidad POST una vez, pero no recuerdo dónde ... tal vez alguien agregará una respuesta decente, pero es posible que desee googlearlo un poco. Recuerdo que me llevó un poco cavar para encontrarlo yo mismo. –