LIBCONNECT - BIBLIOTHÈQUE C++ DE CONNEXION

cs_crunch117 Messages postés 7 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 16 juillet 2007 - 16 juil. 2007 à 19:07
ldubost Messages postés 1 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 13 août 2007 - 13 août 2007 à 09:09
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/43473-libconnect-bibliotheque-c-de-connexion

ldubost Messages postés 1 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 13 août 2007
13 août 2007 à 09:09
Bonjour,
Je suis sous LINUX Redhat Enterprise 4.0 et j'ai le même problème que "Sphost".
A priori l'erreur vient de cette ligne :
--> string err ( "baratin" + WSAGetLastError () ) ;
Je l'ai remplacé par :
--> string err ( "baratin" ) ;
--> perror ( "Error message : " ) ;
Cela supprime le plantage lors de l'affichage de l'erreur.

Sinon j'ai ajouté aussi danns udp.cpp ligne 121 un htonl()
--> id_client.server.sin_addr.s_addr=htonl(INADDR_ANY) ;
Cela supprime le plantage du client.

Par contre la communication ne fonctionne toujours pas ...
Sphost Messages postés 1 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 1 août 2007
1 août 2007 à 23:33
Bonjour,

Tout d'abord merci pour ce code.

Je suis sous Ubuntu et je rencontre des problèmes avec ce prog :
Au début impossible de lancer le serveur après le client, car il revenait en erreur dès le début, après avoir fouillé un peu je me suis rendu compte que le MakeFile-server sous linux n'était pas bon car on compilait mainC.cpp au lieu de mainS.cpp.
Après correction quand je lance le client et le serveur séparément ça passe, mais dès que je lance les deux (d'abord le client, puis le serveur) le serveur plante directement :
"./libconnectS
terminate called after throwing an instance of 'std::string'
Abandon"
Et là pas moyen de savoir d'où vient le problème (sachant que mes connaissances sont limitées) rencontres-tu le problème également?
Pour info, je n'ai rien changé au code, juste compiler puis exécuter.
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2007 à 15:46
oui j'ai testé C::B sous linux et MAC ca marche.
Mais sur linux je préfère quand même utiliser Xemacs + makefile.

sinon wxwidget je suis pas fan, pour des interfaces graph de qualité multiplateforme y'a rien de mieu que Qt
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2007 à 15:43
tu as du te planter quelquepart dans la manip, parceque la il essaye de compiler main.c alors que mes fichiers s'appellent mainC.cpp et mainS.cpp.
Arrives-tu à compiler un programme tout simple avec C::B ?
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 15:31
Question pour ma culture perso :
- Que penses tu de l'intéropabilité de WXWidget ?
- Code block fonctionne réellment sous tous les OS comme j'ai pu le lire ? L'IHM de Code::Block est développé sous WxWidget ?

Merci d'avance pour tes lumières

Amic,

Cpt Aimless
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 15:26
Re bonjour Turnerom,

C'est ok pour moi sous code block :
- Téléchargement de code block 1rc02
- Puis installation de la nightybuild (du jour)
+ wxwidget (enfin la dll pour la nightybuild)

Recompilation des biblio statics et des exes... Et ça tourne

Merci pour l'aide,
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 15:02
Merci pour tes réponses...
D'acc, je me suis mis sous Code::Block et maintenant j'ai le message :

Switching to target: Release
Project : libC
Compiler : GNU GCC Compiler (called directly)
Directory : E:\dev\cppfrance_LIBCONNECT-BIBLIOTH-200-CPLUSPLUS-CONNEXION_43473 -2\libconnect\makefiles\win32\
--------------------------------------------------------------------------------
Switching to target: Release
Linking console executable: ..\..\build\win32\libC.exe
C:\Program Files\CodeBlocks\lib\libmingw32.a(main.o):main.c:(.text+0x106): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2007 à 10:54
J'ai rajouté les 2 projet qui m'ont servi à faire les executables dans makefiles/win32. Essaye de compiler avec pour voir.
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2007 à 10:47
Je viens de retester, chez moi ca marche. Je suis sous XP (SP2) je compile avec gcc version 3.4.4 (mingw special) sous Code::Blocks. Et je lance le client puis le serveur sans rien toucher sa marche.
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 01:38
Houla bah alors pas au lit ;-) Merci pour la réponse

J'ai gardé tes fichiers sources, et l'ordre d'exécution est respecté.

(Je lance les deux applications sur le même PC... Est ce un problème docteur ?)
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
19 juil. 2007 à 01:21
As-tu utilisé les 2 fichiers main présent ou les as-tu modifiés?
Car dans l'exemple c'est de l'udp donc le client doit être lancé en 1er puis le serveur.
cs_AimLess Messages postés 7 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 01:12
Bonsoir,

pour mainS sous dev-c++ pas de soucis WAITING TRANSMISSION DATA mais pour le MainC j'ai le message : "This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information."

Quelqu'un aurait-t-il une idée ? merci d'avance
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
16 juil. 2007 à 19:49
Les fichiers sont nombreux car il y'a la doc au format html/Doxygen dans l'archive.
Sinon, pour sun, je ne sais pas ou tu as vu ca. Je n'ai pas de sun sous la main, mais si quelqu'un veut faire le portage (ce qui ne doit pas être très compliqué) je l'ajouterai bien volontiers au projet.
cs_crunch117 Messages postés 7 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 16 juillet 2007
16 juil. 2007 à 19:07
C'est pas mal du tout, je te met un 8/10!

Mais dis-moi il n'y aurait pas un peu trop de fichiers pour un projet de cette taille ?

Il y a des méthodes que j'ai déja vu qui sont tout a fait dans l'esprit d'un wrapper C++ qui encapsulerait les fonctions des sockets, c'est l'utilisation de flux, genre a chaque socket tu associes un flux qui prends en charge les envois/réceptions, comme cela, l'utilisateur n'a plus à se soucier de la manière dont les données sont transmises (les opérateurs << et >> font très bien l'affaire !).

Une dernière chose, j'ai vu que tu avais prévu d'ajouter la compatibilité avec Sun, où en est tu ?