Primero, aquí está my original question that spawned all of this.¿Debo conectarme directamente con el socket de CouchDB y pasar las solicitudes HTTP o usar node.js como un proxy?
Estoy usando Appcelerator Titanium para desarrollar una aplicación para iPhone (eventualmente Android también). Me estoy conectando al puerto de CouchDB directamente usando el Titanium.Network.TCPSocket object de Titanium. I crea utiliza la clase CFSocket/NSStream de Apple SDK.
Una vez conectado, simplemente escribo:
'GET /mydb/_changes?filter=app/myfilter&feed=continuous&gameid=4&heartbeat=30000 HTTP/1.1\r\n\r\n'
directamente a la toma de corriente. Lo mantiene abierto "para siempre" y devuelve datos JSON siempre que se actualiza el archivo db y coincide con el filtro y la solicitud de cambio. Guay.
Me pregunto, ¿está bien conectarse directamente al socket de CouchDB así, o sería mejor abrir el socket a node.js en su lugar, y tal vez usar este CouchDB node.js module para manejar el proxy CouchDB a través de node.js ?
Mi principal preocupación es el rendimiento. Simplemente no tengo suficiente experiencia con CouchDB para saber si golpear su socket y pasar solicitudes HTTP falsas directamente es una buena práctica o no. Buscando experiencia y opiniones sobre cualquier ramificación o sugerencia alternativa.
fresca, estamos en la misma página, gracias de nuevo, lo bueno! Intenté usar Titanium.Network.HTTPClient primero, pero no tuve suerte en mantenerlo vivo. Creo que usa NSUrlConnection de Apple, que tiene un buffering inmutable. Puedo jugar con eso un poco más solo para asegurarme de que no sea una solución. – k00k