opengl et reseau [C] - C++ - Programmation
Marsh Posté le 19-05-2003 à 15:25:01
ben un thread qui lit dans ta socket, parse le souc et previent ta gluMainLoop qu'ya de nouvelles donnees ?
Marsh Posté le 19-05-2003 à 15:29:52
chrisbk a écrit : ben un thread qui lit dans ta socket, parse le souc et previent ta gluMainLoop qu'ya de nouvelles donnees ? |
je doit faire le proj sous netbsd, et sous netbsd les thread c pas trop ca :-\ (desole, j aurrai du le presiser)
Marsh Posté le 19-05-2003 à 15:33:30
Helter-Skelter a écrit : |
un processus alors....
Marsh Posté le 19-05-2003 à 15:43:26
harrysauce a écrit : un processus alors.... |
g deja un fork plus haut car le server et le client doivent etres dans le meme executable (c l un ou l autre en fct des parametres de lancement de l executable), ca va commence a etre goret si j en rajoutte un (deja ke c limite...)
Marsh Posté le 19-05-2003 à 15:46:03
Helter-Skelter a écrit : |
bof, jamais 2 sans 3
Marsh Posté le 19-05-2003 à 15:55:47
ReplyMarsh Posté le 19-05-2003 à 15:58:52
Helter-Skelter a écrit : bonjour, |
Tu renvoies les événements et tu récupères ton char * à parser et afficher à chaque événement?
Si c'est le cas il suffit de mettre le code réseau dans tes fonctions de gestion des événements non?
Marsh Posté le 19-05-2003 à 16:08:58
skeye a écrit : |
en fait pas vraiment.
il y a une unitee de tmp determine par le seveur et il m env les infos (le char *) com un metronome (avc un ualarm il me semble)
donc pour env les infos ca pose pas de pb de le faire au moment de l event mais pour les recevoir...
Marsh Posté le 19-05-2003 à 16:14:30
Helter-Skelter a écrit : |
Dans ce cas je vois pas d'autre solution que celles citées plus haut...il te faut un autre thread / process...
Marsh Posté le 19-05-2003 à 16:21:55
skeye a écrit : |
Et avc SDL, y a la meme gestion des evenements que pour glut?
Marsh Posté le 19-05-2003 à 16:24:39
Helter-Skelter a écrit : |
C'est pas tout à fait pareil...par contre je ne me souviens pas exactement le fonctionnement, même s'il me semble que c'est un peu plus flexible à ce niveau.
Marsh Posté le 19-05-2003 à 16:28:27
je vais tenter ca, de toute facon je me sert de glut pour creer ma fenetre et gerer mes evnmt point barre, donc migrer vers du sdl ne devrai pas etre trop long. par contre je vais faire qq recherches pour savoir si ca a un interet...
Marsh Posté le 20-05-2003 à 01:26:17
probleme resolu.
je fait l init de la socket au lancement du client, je recv mon char * dans la fct de display, je le traite et l'affiche, puis je fait les envois de mouvements au serveur dans la fct d'evenements clavier.
Et le tout boucle avc glutmainloop()
je dis ca paske ca pourra servir a qqn d autre (suis kan meme pas le seul imbecile a faire du glut et du rezal j espere ).
Marsh Posté le 20-05-2003 à 07:13:31
Helter-Skelter a écrit : probleme resolu. |
Ca bloque pas le raffraichissement?
Marsh Posté le 20-05-2003 à 10:40:56
skeye a écrit : |
g oublie de precise ke g mis un select pour que cette operation soit non blocante.
il update ainsi les donnees tout les X tmp de facon transparente pour l affichage
Marsh Posté le 19-05-2003 à 15:00:52
bonjour,
j ai une "moteur 3D" qui gere un niveau qui doit evoluer en fonctions d infos recus par le reseau (c un jeu en reseau)
j utilise glut pour creer mes fenetres.
glut utilise glutMainLoop(); pour boucler sur les evenenement.
or j ai besoin de boucler sur une socket pour recevoir les infos et afficher le nivo.
(je recoit un char * symbolysant le nivo, je le parse et l affiche en 3D, puis je renv les evenements de deplacement au server ki les traites et me renvoi un char * et ainsi de suite)
Le pb est donc ke glutMainLoop dont g besoin pour l affichage m empeche de faire ma bloucle reseau
Y a t-il une solution ?
(fonction ki coupe glutmainloop dans certains cas, changement de la gestion de glut vers SDL ou autre, je suis ouvert a tout )
Message édité par Helter-skelter le 19-05-2003 à 15:04:15