lektrosonic
Messages postés145Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention21 février 2013
-
17 janv. 2007 à 19:50
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
17 janv. 2007 à 21:34
Bonjour, je travaille sur les sockets et je developpe deux applications (client-serveur).
J'ai etabli la fonction WSAAsyncSelect avec les attributs:
FD_WRITE|FD_ACCEPT|FD_READ|FD_CLOSE pour le serveur, et
FD_WRITE|FD_READ|FD_CONNECT|FD_CLOSE pour le client.
Ma question est: le message FD_WRITE a quoi sert-il exactement ?
Quelqun m'avais dit que quand j'envoi une donnee x avec send(), des que
toute la donnee est bien recu par le recepteur, un message FD_WRITE est
genere. Et bien j'ai esseye mais aucun message FD_WRITE est genere
apres un send.
Juste apres que la connection soit etablie, je recoie un FD_WRITE, mais
pas apres un send(). Je voudrais savoir a qoi sert FD_WRITE, et comment
l-utiliser svp.
Enfaite je souhaite connaitre FD_WRITE, pour pouvoir envoyer plusieurs
send() consecutifs..par exemple lors d'un envoi de fichier.
lektrosonic
Messages postés145Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention21 février 2013 17 janv. 2007 à 20:42
Certe, je n ai pas verifie..mais en tout cas le serveur recoit bien les donnes...
Et, j'ai cherche en tout cas, et ma dit ce que j'ai ecrit dans le post.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20093 17 janv. 2007 à 21:07
lol ! C'est pas une question de parachute là je pense !
J'ai sans doute pas super bien expliqué.
Voilà un petit exemple (qui vaut ce qu'il vaut ) pour l'envoi d'un fichier :
// tu ouvres ton fichier
NbOctEnv = 0; // on initialise le nombre d'octets envoyés
while((TailleTrame = fread(&Buffer, 1, TAILLEBUFFER, Fichier)))
{
while(send(Socket, Buffer, TailleTrame, 0) == SOCKET_ERROR);
NbOctEnv += TailleTrame;
}
// tu fermes ton fichier
Si tu veux voir un exemple plus concret, regarde ma source appelée ESIP Messenger. (et hop un peu de pub ! )
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"