SIGPIPE error en iOS4 cuando la aplicación se está ejecutando pantalla de fondo y bloqueo

StackOverflow https://stackoverflow.com/questions/4085368

Pregunta

Yo uso de conectores BSD en mi aplicación para enviar y recibir datos sobre iphone4 (iOS4.1), hay tres situaciones en mi aplicación:

  1. aplicación se está ejecutando en primer plano y pantalla cerraduras, está bien.
  2. aplicación se está ejecutando en segundo plano y does't pantalla de bloqueo, que está muy bien también (yo uso NSStream para enviar y recibir datos de aplicación para mantener viva en el fondo, que trabaja muy bien.)
  3. aplicación se está ejecutando en el fondo de pantalla y cerraduras, aplicación funcionando bien, pero siempre obtener el error cuando la aplicación SIGPIPE intento de llamada sendto () o send () a través de UDP o TCP zócalo.

busco mucho, pero entiendo nada útil, desde aquí sé lo que es SIGPIPE, y yo uso setsockopt (calcetín, SOL_SOCKET, SO_NOSIGPIPE, (void *) y en adelante, sizeof (int)) para evitar la salida de aplicación de manera anormal. pero todavía no sé por qué se produjo este error sólo en la situación 3 y cómo enviar los datos normalmente a través de conectores BSD en esta situación.


Tengo intento para renovar y volver a conectar pero does't de trabajo, todavía sale error SIGPIPE.   Creo que tal vez que todos los sockets BSD no pueden obtener acceso interno en la situación 3 (Por lo que sabemos que de conectores BSD no puede activar o conexión wifi en IOS EDGE), cualquier persona puede ayudarme o darme algunas sugerencias? y lo siento por mi Inglés Broken ^. ^, Muchas gracias.

¿Fue útil?

Solución

buscar en Google y encontró a mi propia pregunta 10 meses antes, eso es interesante. Ya tenía una solución para mantener aplicación que se ejecuta en segundo plano, y setsockopt (calcetín, SOL_SOCKET, SO_NOSIGPIPE, (void *) y en adelante, sizeof (int)) es útil que ignorará el error SIGPIPE 13.

ocurre este error cuando el socket ya perdió la conexión física y todavía tratan de datos de escritura, a través de Wi-Fi, 3G o accesorios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top