Socket en C

Résolu
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006 - 30 sept. 2005 à 23:31
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006 - 7 oct. 2005 à 22:05
WSADATA ws;
WSAStartup(MAKEWORD(2,0), &ws);
SOCKET sock;
SOCKADDR_IN sin;
char *buffer = malloc(sizeof(char)*255);
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(12536);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
recv(sock, buffer, sizeof(buffer), 0);
closesocket(sock);
WSACleanup();

Je compile le prog sous dev c++ et il me dit parse error before sock
et sin used without declaration
et buffer undeclared alors que je l'ai déclaré

Je ne comprends pas !!!
Si quelqu'un peut m'aider, Merci!!!!!

RM50man

6 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
1 oct. 2005 à 00:11
Salut,

Il faut ajouter une commande dans les options du projet pour linker
winsock. Je suis pas sous devc++ donc je peux pas plus t'aider.

Cherche dans le forum, ca a déja été traité plein de fois.
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
30 sept. 2005 à 23:49
Salut,

En C on doit déclarer toutes les variables en haut d'un bloc.

Donc ca serait plutot:



WSADATA ws;

SOCKET sock;

SOCKADDR_IN sin;

char *buffer;

WSAStartup(MAKEWORD(2,0), &ws);

buffer = malloc(sizeof(char)*255);

sock = socket(AF_INET, SOCK_STREAM, 0);

sin.sin_addr.s_addr = inet_addr("127.0.0.1");

sin.sin_family = AF_INET;

sin.sin_port = htons(12536);

connect(sock, (SOCKADDR *)&sin, sizeof(sin));

recv(sock, buffer, sizeof(buffer), 0);

closesocket(sock);

WSACleanup();
0
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
1 oct. 2005 à 00:06
OUi mais maintenant ca me met

[Linker error] undefined reference to [mailto:`WSAStartup@8' `WSAStartup@8']

[Linker error] undefined reference to [mailto:`socket@12' `socket@12']
et pour ttes les autres fonctions
peut etre qui me manque la librairie?????????

RM50man
0
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
1 oct. 2005 à 00:26
Merci g trouver, il fallait ds Projet , Option du projet et ajouter fichier lib
et ca marche!!!!!!!!!!!!!
Merci beaucoup!!!!

RM50man
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sprootch Messages postés 5 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 13 février 2006
7 oct. 2005 à 19:33
RM50Man, tu veux pas expliquer "ajouter fichier lib" parce que je trouve toujours pas comment faire :( Merci
0
RM50Man Messages postés 314 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 20 août 2006
7 oct. 2005 à 22:05
Si tu veux ajouter une librairie a ton projet sous devc++, tu dois aller dans le menu principal choisir Projet, puis Option du projet, puis choisir l onglet general, puis avec le bouton Ajouter fichier tu choisis ta librairie!!!!!!!!

RM50man
0
Rejoignez-nous