Bonjour ! Ceci est mon premier post ! Voilà mon problème : j'ai créer deux applications, une cliente et une serveur. Mais le problème est que elle ne fonctionne pas ^^. La connexion ne se fait pas ou bien elle se fait mais je ne le voit pas.
Code serveur :
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")
int main(int argc, char *argv[])
{
char port;
printf(" === Bienvenue ! === \nNumero du port a ouvrir : ");
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
scanf("%i", &port);
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr(INADDR_ANY);
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
sock = socket(AF_INET,SOCK_STREAM, 0);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
printf("Ecoute...\n");
listen(sock, 0);
int val = 0;
while(1)
{
val = accept(sock, (SOCKADDR *)&sin, sizeof(sin));
if(val != INVALID_SOCKET)
{
printf("Quelqu'un est connecte !");
}
}
system("PAUSE");
return 0;
}
Et code client :
#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")
int main(int argc, char *argv[])
{
printf(" === Bienvenue ! === \nAdresse IP distante : ");
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
char ip[15];
scanf("%s", &ip);
long port;
printf("Port distant ouvert : ");
scanf("%i", &port);
SOCKET sock;
SOCKADDR_IN sin;
sin.sin_addr.s_addr = inet_addr(ip);
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
sock = socket(AF_INET,SOCK_STREAM, 0);
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
if(connect(sock,(SOCKADDR*)&sin,sizeof(sin)))
{
printf("La connection a echoue... La connexion a ete bloquee par un Par-Feu ou a ete\nrefusee =(\n");
system("PAUSE");
exit(0);
}
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
printf("Connecte ! Le serveur a accepte la connexion...\n");
system("PAUSE");
return 0;
}
Ce qui se passe est que le serveur n'affiche pas "Quelqu'un est connecté !" et il ne se passe rien, au bout d'un moment sur le client le message apparait : "La connexion à échoué... et patati et patata".
Merci de votre aise =)