nobaar
Messages postés5Date d'inscriptionmercredi 21 avril 2010StatutMembreDernière intervention23 avril 2010
-
23 avril 2010 à 02:55
nobaar
Messages postés5Date d'inscriptionmercredi 21 avril 2010StatutMembreDernière intervention23 avril 2010
-
23 avril 2010 à 22:33
Salut à tous
je suis débutant en sockets langage C et j'ai parcouru plusieurs tutos y compris ceux qui se trouve dans ce site mais quand je copie le code sourde dans mon IDE j'ai toujours les mêmes erreurs de compilation .
J'utilise CodeBlock sous windows xp.
Est ce quelqu'un n'aurait pas un programme clair qu'il a pu compilé aisément pour que je puisse comprendre??
Merci d'avance pour vos réponses
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 23 avril 2010 à 09:13
salut,
tu es débutant en socket ou débutant tout court ?
Les tuto sont assez court généralement, donc je ne vois qu'un problème de config de ton codeblocks.
Mais ca va etre dur de t'aider sans avoir les erreurs.
nobaar
Messages postés5Date d'inscriptionmercredi 21 avril 2010StatutMembreDernière intervention23 avril 2010 23 avril 2010 à 11:45
#if defined (WIN32)
#include <winsock2.h>
typedef int socklen_t;
#elif defined (linux)
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include
#include
#define INVALID_SOCKET -1
#define SOCKET_ERROR -1
#define closesocket(s) close(s)
typedef int SOCKET;
typedef struct sockaddr_in SOCKADDR_IN;
typedef struct sockaddr SOCKADDR;
#endif
#include <stdio.h>
#include <stdlib.h>
#define PORT 23
int main(void)
{
#if defined (WIN32)
WSADATA WSAData;
int erreur = WSAStartup(MAKEWORD(2,2), &WSAData);
#else
int erreur = 0;
#endif
SOCKET sock;
SOCKADDR_IN sin;
if(!erreur)
{
/* Création de la socket */
sock = socket(AF_INET, SOCK_STREAM, 0);
/* Configuration de la connexion */
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(PORT);
/* Si le client arrive à se connecté */
if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR)
printf("Connexion à %s sur le port %d\n", inet_ntoa(sin.sin_addr), htons(sin.sin_port));
else
printf("Impossible de se connecter\n");
/* On ferme la socket précédemment ouverte */
closesocket(sock);
#if defined (WIN32)
WSACleanup();
#endif
}
return EXIT_SUCCESS;
}
Les erreurs générées sont 9:
undefined reference to _socket@12
undefined reference to _WSAStartup@8
................... to _inet_addr@4
................... to htons@64
Vous n’avez pas trouvé la réponse que vous recherchez ?
nobaar
Messages postés5Date d'inscriptionmercredi 21 avril 2010StatutMembreDernière intervention23 avril 2010 23 avril 2010 à 22:33
Merci bcp fregolo52 pour tes orientations t'avais vu juste g pu le faire
Maintenant je voudrais faire un programme qui envoie des messages d'erreur à l'administrateur en cas d'erreur tu pourrais m'aider ds ce sens ??