interrompre un read ou un recv - C++ - Programmation
Marsh Posté le 15-07-2002 à 11:42:09
Tu bosse sous quel system?
Si c sous unix y a une fonction qui le fait (j'ai oublié son nom pour l'instant mais ça va me revenir)
Marsh Posté le 15-07-2002 à 11:50:20
Je bosses sous Linux
Je vais aller manger et j'espère que ton cerveau aura pu retrouver la fonction quand je reviendrais
Marsh Posté le 15-07-2002 à 11:52:06
Ca doit être select me semble son nom, ça te permet d'écouter simultanément plusieur entrée et de réagir dès qu'une est solicitée ou au bout d'un certain temps.
Marsh Posté le 15-07-2002 à 13:30:39
Code :
|
Marsh Posté le 15-07-2002 à 22:35:28
letoII a écrit a écrit : Ca doit être select me semble son nom, ça te permet d'écouter simultanément plusieur entrée et de réagir dès qu'une est solicitée ou au bout d'un certain temps. |
Oui. Et quand "select" reagit, tu es sur qu'il y a des donnees a lire et que "recv" ne sera pas bloquant.
Quand a moi j'utilise (au risque de me repeter ) la lib ACE (enfin, quand je peux) qui encapsule "select" de belle facon objet.
http://www.cs.wustl.edu/~schmidt/ACE.html
Marsh Posté le 16-07-2002 à 23:43:51
walla un exemple simple d utilisation de select :
Code :
|
pour plus d info sur select, il n y a qu une solution :
MAN SELECT
Marsh Posté le 15-07-2002 à 11:26:18
Bonjour,
Un client doit envoyer une information à un serveur dans un buffer
Dans le programme du client, il y a un send(buffer) ou un write(buffer)
Dans le programme du serveur, il y a un recv(buffer) ou un read(buffer)
Je voudrais faire en sorte que si au bout d'un certain temps, la socket du serveur ne reçoit toujours rien, on passe à
l'instruction suivante plutôt que de rester bloqué sur le recv ou le write
Je ne sais pas comment faire