Bonjour a tous,
Je suis en train de faire un serveur en C++, qui marche. Je l`ai deja teste, et tout, el en generale il n`y a pas de problemes...L`unique probleme que j`arrive pas a comprendre c`est pourquoi la taille maximale de caracteres reçus ou envoyés, sont au max. 4. C`est a dire, si le client envoye la phrase "Bonjour le monde", le serveur reçoit toute la phrase, mais en plusieurs phases :
Bonj
our
le m
onde
Le probleme devient plus grave, quand c`est le serveur qui doiti envoyer des messages, car il envoye que 4 caracteres...Exemple:
Bonjour le monde!!
String envoyé: Bonj
Je suis sur et certain que le probleme vient du serveur, mais j`arrive pas a trouver la modif a faire, pour amplier le nomre de caracteres a envoyer\recevoir.
Pourriez vous m`aider?
Merci d`avance,
Ignasi
Voici un extrait du code pour le serveur:
Initialisation:
1 2 3 4 5 6 7 8 9
| sock = socket(AF_INET, SOCK_STREAM,0);
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_family = AF_INET;
sin.sin_port = htons(667);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock,0);
int sinsize = sizeof(csin); |
Accepter socket
(csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
et la partie qui ecoute le message en entree:
int rv=recv(csock,buffer,sizeof(buffer),0);
Je le poste pour que vous voyez quel type de fonction j`utilise pour etablir la connexion....
Partager