GLUT: cualquier forma de agregar un & # 8220; archivo legible & # 8221; enganchar al bucle de eventos?

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Me gustaría abrir un socket y colgar un evento legible en el bucle de eventos GLUT ... ¿alguna idea sobre cómo hacer esto? El código GLUT estándar portátil es el mejor, pero también estoy abierto a los hacks específicos de la plataforma.

¡Gracias!

¿Fue útil?

Solución

GLUT no soporta esto muy bien. Consulte GLUT FAQ # 18

Puede registrar una función inactiva con glutIdleFunc y, en la función inactiva, sondear su socket para ver si hay nuevos datos disponibles. Para evitar el bloqueo cuando lee desde su socket, debe configurar su socket para que no se bloquee llamando:

#include <unistd.h>
#include <fcntl.h>
...
sockfd = socket(PF_INET, SOCK_STREAM, 0);
fcntl(sockfd, F_SETFL, O_NONBLOCK);

(Tomado de Guía de redes de Beej )

El inconveniente de este enfoque es que su aplicación verificará el estado del socket 60 veces por segundo, en lugar de solo esperar la entrada de datos de red.

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