Accueil > > > SERVER HTTP,FTP,IRC,POP3,SMTP,NTP AVEC LE WIZARD POUR LA CONFIGURATION ET LES CLIENT GRAPHIQUE TOUS SOUS LINUX / WINDOWS ( VIA WXWINDOWS ET CYGWIN)
SERVER HTTP,FTP,IRC,POP3,SMTP,NTP AVEC LE WIZARD POUR LA CONFIGURATION ET LES CLIENT GRAPHIQUE TOUS SOUS LINUX / WINDOWS ( VIA WXWINDOWS ET CYGWIN)
Information sur la source
Description
Encore un projet que g retrouvé, les server sont multithreadé avec des semaphore , la gestion signal et tout ce qui va bien. Le wizard permet de creer/modifier les fichier de conf simplement, et ya aussi quelque client graphique adapté Tous les server/client respect les protocol et la RFC associé ( pas toujours la plus recente mais c retro-compatible)
Conclusion
a l'epoque jav chercher de la doc pour faire ca et jav rien trouver donc je pense et j'espere que ca sera utile a plein de monde.
je tiens a signaler que tout est en anglais ( sauf les comments) ca me rapelle un prof qui disait : L'anglais c'est la langue de l'informatique ! alors arreter de vous plaindre bande de feignasse ! ( bon fo dire qu'il nous refiler tous les support de cours et les docs en anglais donc .... mais bon le gas etait russe donc ct langlais ou le russe lol !! )
Historique
- 10 août 2004 20:24:57 :
- compilation:
make linux ( sous linux ) ca va pondre un .bin
make cygwin ( sous windows ) ca va pondre un .exe
depuis vc++ pour les client sous windows
pour faire marcher en dehors de la console cygwin suffit de copier deux dll dans le meme rep que l'exe, cygwin1.dll et cygcygipc-2.dll
en ce qui concerne wxWindows sous nux ca chie de temps en temps car les options de compile que wx-config --libs et wx-config --cxxflags renvoie sont pas tjrs bonne , le mieux c editer le makefile ou extraire la commande de compile et l'adapter a votre systeme
perso j'utilise une debian 3.0 avec noyau 2.6 maison, g++ et cie en version 3.qqchose et wxGTK v2.4.0 en compilation statique ( pas shared ) et ca compilote tout seul
- 11 août 2004 15:03:00 :
- Explication:
Q: pourquoi cygwin ?
R: pour permettre la portabilité des prog sous windows sans avoir a tout recoder.
Inconveniant: toutes les fonction linux ne sont pas supporté donc parfois le code peu sembler un peu bizarre
Q: pourquoi wxWindow ?
R: toujours pour un souci de portabilité, en passant par wxWindow, on evite d'ecrire avec les mfc d'un coté, et avec gtk ou autre de l'autre coté
Inconveniant: sous linux, le linkage avec les libs de wxWindow est assez hasardeux
Q: pourquoi les server en mode console ?
R: parce que c souvent comme ca sous nux et ca permet de lancer comme deamon sont bp modif le code
Inconveniant: Aucun, si ce n'est de faire raller les obsede du "clic-clic-button"
Q: comment faire un deamon ?
R: voir cours d'archi :) le principe est simple : on fork -> ca creer un deuxieme processus, on "tue" le pere, le fils est orphelin on fe un nouveau "session leader" et ca se ratache au processus "init"
Q: pourquoi defois des processus et d'autre fois des thread ?
R: perso , c'est une question de clarté et d'utilité: un thread et un processus on des comportement different ( semaphore/mutex, memoire partagé de base ou non, heritage de certaine variable etc ....) donc suivant les cas d'utilisation on prefere utilise l'un ou l'autre. la encore vo mieux relire ses cours d'architecture systeme :)
Q: pourqoi des signaux ?
R: cours d'archi :) ex: vous tuer un server, donc fo tuer tous les fils qui trainait pour eviter les zombie ( immmoooooteeeeepppp !!!! ) et faire le menage dans les socket ouverte, bah on fe ca avec les signaux pour dire a tout le monde : "suicide collectif !!"
Q: pourquoi defois ca multithread avec un fork et pourquoi d'autre fois non ?
R: question de communication entre les processus, ex: le server http ecoute sur le port 80, il recoit une demande de connec, il fork et le fils s'occupe du client pendant que le pere continue d'ecouter, la pas besoin de communiquer entre les client donc le modele avec fork et le bazar est correct.
Par contre dans le cas du server IRC c plus cho ! la il ya communication -> donc mise en place de memoire partagé avec des semaphore dans tous les sens ou de pipe ou de socket unix locaux ou je ne c koi encore. pkoi g pas fe ca ? deja paske c casse cou**le et ensuite paske cygwin a quelque prob avec les ipc ( inter processus communication ), tous n'est pas supporte ou de maniere assez strange.donc pas de memoire partage ni de multithread. Comment faire alors pour que le prog ne bloque pas sur un seul client ? LES SOCKET NON-BLOQUANT !!! le principe est simple: on gere un POOL de socket que l'on va observer un certain temps tour a tour grace au macro FD_ISSET FD_* etc ... et a la fonction select qui permet de mettre en premier plan un descripteur sur lekel il se passe qqchose ( pour rapelle sous nux, une socket EST un descripteur de fichier ) voila , on peu gerer un pool de client presque simultanement sans creer de thread ou proccessus. Le hic, c'est la monté en charge lorsque que l'on utilise ce modele de server, c tres gourmand en ressource !! ( la encore cf cours d'architecture systeme pour plus d'explication )
Q: le server ntp n'est pas multithreader ?
R: paske sinon ca risque de creer des ecart de qq nanoseconde ( c un server de temps, fo etre precis :) ) pour les details -> voir comment marche le scheduler de nux lors de l'execution de process concurrent.......
Bon d'accord c pas la vrai raison ( meme si effectivement ca peut arriver ) c surtout que jav la fleme de le faire correctment , un packet ntp fe dans les 48 octet, on est en mode udp, donc du non connecté, bref ca rique pas de bloquer tres longtemps lors d'une connection cliente.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYSTECHDAYS PARIS 2012 : COMMENT SHAREPOINT A SAUVé MES TECHDAYS par ROMELARD Fabrice
Speakers : Lionel Limozin et Alain Marty La session commence par une découverte de SharePoint à travers la mise en place d'un environnement SharePoint pour la gestion des Sessions animées par BeWise. Le besoin est très ba...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|