SOCKET CLIENT SERVEUR

rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008 - 20 avril 2007 à 18:53
lolo38550 Messages postés 30 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 12 janvier 2010 - 13 mars 2009 à 10:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42385-socket-client-serveur

lolo38550 Messages postés 30 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 12 janvier 2010
13 mars 2009 à 10:35
Bonjour,

Les sources contenues dans le zip sont vides... ce qui est dommage car le sujet m'interesse!!

Merci
tonybeach27 Messages postés 1 Date d'inscription jeudi 26 juin 2008 Statut Membre Dernière intervention 15 septembre 2008
15 sept. 2008 à 14:36
Salut
Des lors que le client et le serveur sont connecté, quelle est la syntaxe de la commande pour envoyer des datas au serveur (simlplement taper le message puis enter), ou est il possible d'envoyer un message complet avec envoi_data (quelle est sa syntaxe car je n'y arrive pas)

Merci,
cs_philbo Messages postés 1 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 9 juin 2008
9 juin 2008 à 10:56
Le code avec la librairie libwsock32.a fonctionne bien, super. J'aurais juste une petite question : c'est juste que quand je creer un nouveau projet, il faux que rajoute dans le linker cette lib. Il n'y à pas moyen de la linker par défaut?
sami2121 Messages postés 2 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 17 avril 2009
20 avril 2008 à 16:52
Merci
Merci pour ce code qui m'aura permis d'avoir une autre vision des sockets :) ! La lisibilité du code est facilité par l'usage des fonctions mais aussi des commentaires ! Félicitation et merci beaucoup ;) !
rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008
20 avril 2008 à 16:40
De rien man ;)
cs_protect Messages postés 87 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 15 mai 2011 6
6 avril 2008 à 07:36
Pour ma part je le trouve trés bien coder :-)
Je l'est compiler sous gcc/debian et aucune erreur : parfait .
Je pense que je vais l'utiliser comme base pour un programme .

Merci et bonne continuation ;-)
rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008
11 août 2007 à 01:38
@julien_noob : Il faut que tu linke avec la lib libwsock32.a ou ws2_32.lib (ou un truc du genre...).

De rien @Acid76 :)
Acid76 Messages postés 1 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 18 juillet 2007
18 juil. 2007 à 14:45
Merci pour ce code qui m'aura permis d'avoir une autre vision des sockets :) ! La lisibilité du code est facilité par l'usage des fonctions mais aussi des commentaires ! Félicitation et merci beaucoup ;) !
julien_noob Messages postés 1 Date d'inscription dimanche 16 octobre 2005 Statut Membre Dernière intervention 9 juillet 2007
9 juil. 2007 à 14:07
Bonjour ,
j'utilise Dev c++ mais je n'arrive pas a compiler , je suis un débutant et cette source pourrait m'apprendre beaucoup chose voici les erreurs :

ain.o(.text+0x45):main.c: undefined reference to `WSAStartup@8'
main.o(.text+0x7e):main.c: undefined reference to `WSACleanup@0'
main.o(.text+0xce):main.c: undefined reference to `closesocket@4'
main.o(.text+0x125):main.c: undefined reference to `socket@12'
main.o(.text+0x16e):main.c: undefined reference to `htonl@4'
main.o(.text+0x186):main.c: undefined reference to `htons@4'
main.o(.text+0x1a9):main.c: undefined reference to `bind@12'
main.o(.text+0x1e2):main.c: undefined reference to `listen@8'
main.o(.text+0x23c):main.c: undefined reference to `accept@12'
main.o(.text+0x26f):main.c: undefined reference to `htons@4'
main.o(.text+0x280):main.c: undefined reference to `inet_ntoa@4'
main.o(.text+0x341):main.c: undefined reference to `shutdown@8'
main.o(.text+0x34f):main.c: undefined reference to `closesocket@4'
main.o(.text+0x3f0):main.c: undefined reference to `send@16'
main.o(.text+0x436):main.c: undefined reference to `send@16'
main.o(.text+0x48f):main.c: undefined reference to `recv@16'
main.o(.text+0x4eb):main.c: undefined reference to `recv@16'
collect2: ld returned 1 exit status

make.exe: *** [serveur.exe] Error 1
rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008
13 mai 2007 à 20:55
Salut,
Il faut que tu linke avec la lib ws2_32.lib sous VC++,
et pour ton probléme, essaye de modifier mon code source en mettant la declaration des variables au début des fonctions.
Et tien moi aucourant
Remi D Messages postés 3 Date d'inscription lundi 31 octobre 2005 Statut Membre Dernière intervention 12 mai 2007
12 mai 2007 à 16:20
Salut,
t'as source correspond juste à mon besoin :
pouvoir simuler/tester les différents mécanismes de contrôle d'erreur (couche liaison) que je vois en cours.

Seulement j'arrive pas à compiler...
Je suis sous VC++ et il semble manqué quelque chose au vu des erreur qu'il affiche mais il ne me signal aucun fichier manquant.
J'ai regardé pour la lib libwsock32.a, je crois que c'est propre à gcc et que ça n'existe pas pour VC++.

Voici le log de la compilation :
1>------ Début de la génération : Projet : Winsock1, Configuration : Debug Win32 ------
1>Compilation en cours...
1>serveur.c
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(131) : error C2275: 'SOCKADDR_IN' : utilisation non conforme de ce type comme expression
1> c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(3779) : voir la déclaration de 'SOCKADDR_IN'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(131) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'sin'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(131) : error C2065: 'sin' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(132) : error C2224: la partie gauche de '.sin_addr' doit avoir un type struct/union
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(133) : error C2224: la partie gauche de '.sin_family' doit avoir un type struct/union
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(134) : error C2224: la partie gauche de '.sin_port' doit avoir un type struct/union
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(137) : error C2143: erreur de syntaxe : absence de ';' avant 'type'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(138) : error C2065: 'sock_err' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(155) : error C2275: 'SOCKADDR_IN' : utilisation non conforme de ce type comme expression
1> c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(3779) : voir la déclaration de 'SOCKADDR_IN'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(155) : error C2146: erreur de syntaxe : absence de ';' avant l'identificateur 'csin'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(155) : error C2065: 'csin' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(156) : error C2143: erreur de syntaxe : absence de ';' avant 'type'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(157) : error C2065: 'recsize' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(164) : error C2224: la partie gauche de '.sin_addr' doit avoir un type struct/union
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(164) : error C2198: 'inet_ntoa' : pas assez d'arguments pour un appel
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(164) : error C2224: la partie gauche de '.sin_port' doit avoir un type struct/union
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(164) : error C2198: 'htons' : pas assez d'arguments pour un appel
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(199) : error C2143: erreur de syntaxe : absence de ';' avant 'type'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(200) : error C2065: 'err_close' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(228) : error C2143: erreur de syntaxe : absence de ';' avant 'type'
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(229) : error C2065: 'n' : identificateur non déclaré
1>c:\documents and settings\admin\bureau\client-serveur\serveur.c(235) : warning C4267: 'fonction' : conversion de 'size_t' en 'int', perte possible de données
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Admin\Mes documents\Visual Studio 2005\Projects\Winsock1\Winsock1\Debug\BuildLog.htm"
1>Winsock1 - 21 erreur(s), 1 avertissement(s)
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========


Ton aide me serait très précieuse...
rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008
9 mai 2007 à 16:59
Lol, Moi j'attend des commentaire sur le code source, et toi voilà ce que tu me sort ! :)
dedemycatosoft Messages postés 1 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 8 mai 2007
8 mai 2007 à 18:34
Moi aussi j'aimme bien gorillaz ...
(quoi c'est un commantaire comme un autre ...)
rtfm321 Messages postés 15 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 20 avril 2008
20 avril 2007 à 18:53
j'attends vos commentaires...
Rejoignez-nous