Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : link avec GCC [ Archives / Réseau / Internet ] (mrjulien)

vendredi 28 janvier 2005 à 12:09:20 | link avec GCC

mrjulien



Bonjours a tous.
Je compile avec gcc sous windows (grâce a mingw). Je ne souhaite pas vous ennuyer en créant un topic redondant, mais je n'arrive pas à régler un pbl sur un sujet plusieurs fois abordé ici. Je compile un exemple d'utilisation des sockets, ici la création d'un serveur dont voici le code :


#include <conio.h>
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "libws2_32.a")


main()
{


char buffer[255];

 WSADATA WSAData;
 WSAStartup(MAKEWORD(2,0), &WSAData);

 SOCKET sock;
 SOCKET csock;
 SOCKADDR_IN sin;
 SOCKADDR_IN csin;

 sock = socket(AF_INET, SOCK_STREAM, 0);

 sin.sin_addr.s_addr = INADDR_ANY;
 sin.sin_family     = AF_INET;
 sin.sin_port     = htons(4444);

 bind(sock, (SOCKADDR *)&sin, sizeof(sin));
 listen(sock, 0);

 while(1)
 {
  int sinsize = sizeof(csin);
  if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
  {
           memset(buffer,0,255);
           wsprintf(buffer,"Bienvenu sur mon serveur ;)");
           send(csock,buffer,255,0);
  }
 }

 

}

Le fichier libws2_32.a est naturellement présent dans le répertoire lib. Pour compiler je lance la commande: gcc -lws2_32 source.c
L'option -l permet de linker une librairie d'aprés le tutorial gcc que j'ai lu. Malgés celà le link ne fonctionne pas : undefined reference to `WSAStartup@8' etc.....

Merci de votre aide.


vendredi 28 janvier 2005 à 12:17:31 | Re : link avec GCC

bayeto

Membre Club

Petite question: ce prama est-il reconnu par gcc?
#pragma comment(lib, "libws2_32.a")
Je crois que beaucoup de pramas sont specifiques aux compilateurs.


vendredi 28 janvier 2005 à 12:39:43 | Re : link avec GCC

mrjulien


[ Lien ]
==>"Vous pouvez ensuite effacer si vous le souhaitez les protos et pragmas [ Lien ](répertoires proto, pragma et pragmas) car GCC ne les utilise pas"

Apparement il semblerait que cela pose problème. Comment passer outre ?

 


vendredi 28 janvier 2005 à 12:49:46 | Re : link avec GCC

Nebula

Membre Club
Réponse acceptée !
Au lieu de cette horreur : #pragma comment(lib, "libws2_32.a")
Met donc ceci dans ta ligne de commande : -lws2_32

Et GCC linkera l'exe en utilisant libws2_32.a, un exemple :
gcc main.c -lws2_32 -o toto.exe

vendredi 28 janvier 2005 à 14:09:50 | Re : link avec GCC

mrjulien



Merci bien, problème résolu. Je pense que ce sujet aidera d'autre personne.
Merci encore de votre participation :]




Cette discussion est classé dans : buffer, gcc, socket, sin, sock


Répondre à ce message

Sujets en rapport avec ce message

Problème de Socket(recv) [ par YnOThAr ] Voila je suis en train d'essayer de faire un client FTp mais j'ai vraiment du mal...mon preblème c ke j'arrive pas à réceptionner les réponses du serv Socket Server/Client [ par XKaliBur ] Je suis débutant et je voudrais faire en sorte d'envoyer un message au mon serveur et des que ce dernier reçoit un message, il réponde en fonction de Socket en C [ par RM50Man ] WSADATA ws;                    WSAStartup(MAKEWORD(2,0), &ws);              &n [socket et api win]recevoir et envoyer en meme temps [ par shadow1779 ] Bonjour je me suis fais un petit programme irc qui me servira de bot pour auto-op des personne ou d'autre taches diverses, le client aura une boite de Probléme pour lire le buffer au lancement de la connexion [ par logant83 ] Bonsoir, voila enfaite j'ai établi une connexion sur un server irc grace au socket mais quand je recois sur le buffer les différente informations (Ell Probleme entre DLL et socket [ par XKaliBur ] Le probleme est que je réalise un hook sur mon clavier et que chaque frappe interceptée je veux l'envoyer via un socket à un serveur, mais des que j'e probleme boucles mutliple avec les sockets [ par miki42 ] Bonjour a tous voila j'ai pa le choix,deja une semaine que je mord la langue pour trouver dou vient mon probleme mais rien y fait suit obliger de fari Socket Requette HTTP Post - Enlever le header de la réponse [ par SuperChouquette ] Bonjour, je suis débutant et à l'aide d'autres sources j'ai créer une fonction pour envoyer une requete POST à un serveur web, celle-ci fonctionne bie Client / Serveur => Je m'enmèle les pinceaux avec le buffer, les boucles etc. [C] [ par matad0r ] Bonjour, bonjour!J'ai récemment créé une petite application client/serveur de rien du tout (je suis débutant), en m'aidant de ça : http://c.developpez winsock 2 listen [ par lektrosonic ] Bonjour, ceci est mon bou de code, je veu mette le socket en mode listen, mais de ke je le fait, ca plante...ce bout de code est sous win32 et la fene


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.