16
Réseau / [SFML2] Gérer le reception TCP en continu
« le: Mai 22, 2012, 02:48:28 pm »
Bonjour
J'ai commencé ma première maquette d'application en réseau.
Il y a deux clients et un serveur qui ne fait que relayer ce que les clients envoient,
le tout en TCP.
Pour l'instant l'émission marche bien : le client envoie dès qu'il reçoit une input.
En revanche j'ai plus de mal avec la réception, car je ne sais pas comment faire
pour que le client soit toujours à l'écoute du serveur sans ralentir l'application.
Faut-il laisser en boucle un socket.receive(), pour être à l'écoute du serveur ?
Le problème est que même en mettant la socket non bloquante,
l'application a de terribles lags quand je fais ça (je n'utilise pas de threads).
Et est ce qu'on peut envisager d'avoir deux sockets par client : une qui ne fait que recevoir
et l'autre qui s'occupe d'émettre ?
Ou alors faut-il nécessairement utiliser des Selector dans ce cas ?
Merci d'avance pour votre aide !
J'ai commencé ma première maquette d'application en réseau.
Il y a deux clients et un serveur qui ne fait que relayer ce que les clients envoient,
le tout en TCP.
Pour l'instant l'émission marche bien : le client envoie dès qu'il reçoit une input.
En revanche j'ai plus de mal avec la réception, car je ne sais pas comment faire
pour que le client soit toujours à l'écoute du serveur sans ralentir l'application.
Faut-il laisser en boucle un socket.receive(), pour être à l'écoute du serveur ?
Le problème est que même en mettant la socket non bloquante,
l'application a de terribles lags quand je fais ça (je n'utilise pas de threads).
Et est ce qu'on peut envisager d'avoir deux sockets par client : une qui ne fait que recevoir
et l'autre qui s'occupe d'émettre ?
Ou alors faut-il nécessairement utiliser des Selector dans ce cas ?
Merci d'avance pour votre aide !