Bonjour a tous,
Voila je me suis mis récement au socket et j'ai coder un client et un serveur. Tout bête le client envoie un message ( "hello you" ) au serveur qui doit l'afficher. Seulement voila, le serveur recoit bien le message a chaque fois qu'il est transmit, mais m'affiche des caractères qui n'ont rien à voir avec le message envoyé. un peut comme si il affichait une zone mémoire quel quonque. Voici les 2 codes :
client :
WSADATA wsaData;
SOCKET sock1;
SOCKADDR_IN sin;
WSAStartup(MAKEWORD(2,0),&wsaData);
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(23); /* port telnet */
sock1 = socket(AF_INET,SOCK_STREAM,0);
bind(sock1,(SOCKADDR*)&sin,sizeof(sin));
getch();
connect(sock1,(SOCKADDR*)&sin,sizeof(sin));
send(sock1,"hello you",11,0);
closesocket(sock1);
WSACleanup();
serveur :
WSADATA wsaData;
SOCKET sock1;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
char szBuffer[11];
int iSizeSin;
WSAStartup(MAKEWORD(2,0),&wsaData);
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_family = AF_INET;
sin.sin_port = htons(23); /* port telnet. */
sock1 = socket(AF_INET,SOCK_STREAM,0);
bind(sock1,(SOCKADDR*)&sin,sizeof(sin));
listen(sock1,0);
for(;;){
iSizeSin = sizeof(csin);
if(csock = accept(sock1,(SOCKADDR*)&csin,&iSizeSin) != INVALID_SOCKET){
recv(csock,szBuffer,sizeof(szBuffer),0);
printf("\nMessage : <%s>",szBuffer);
getch();
}
}
Quelqu'un peut il m'aider svp?