libPTS++ The POSIX THread and Socket library SourceForge.net Logo
    
English Version
La dernière version de la libPTS++ est 1.0
Pour connaitre les dernières news, reporter des bugs, avoir de l'aide ou télécharger la dernière version de la libpts++ nous vous invitons à visiter
la page de gestion du projet.


Qu'est que la libPTS++ ?


La librairie Posix Thread and Socket permet d'implémenter des pThreads et des Sockets en C++. Elle est basée sur les librairies GlibC et Winsock2 pour les Sockets et les librairies NPTL (Native Posix Thread Library) et POSIX Threads for WIN32 pour les pThreads et fournit à l'utilisateur des classes simples à utiliser, s'inspirant du modèle JAVA de Sun.
Pour le moment elle est orientée vers le développement des serveurs TCP multithreadés et ses clients associés.



Systèmes d'exploitation


Elle a été developpée pour Linux et Microsoft Windows (via MinGW). Grâce à un développement respectant scrupuleusement la norme POSIX, elle est également compilable sous Sun Solaris et MAC OSX, mais nous ne l'avons pas encore testée sous ces OS. Cela risque de prendre un certains temps, car nous ne disposons pas de stations sous Solaris ou sous MAC pour le moment. Avis aux amateurs....



Documentation


La documentation est disponible sous deux formes :
En ligne : Documentation
Hors ligne : En allant sur cette page



Organisation de l'archive télechargée


/autoconf
    contient les scripts Shell nécessaires à la génération des makefiles.
/doc            contient la documention générée avec Doxygen, pour avoir la page ouvrez le fichier index.htm dans votre navigateur internet.
/include      contient les includes que vous devez utiliser pour le développement de votre application.
/lib           contient les binaires Linux et MS Windows que nous avons générés nous même, vous pouvez directement les utiliser ou recompiler les sources si vous le souhaitez
/src           contient les sources de la bibliothèque.



Compilation et installation 


Si vous voulez ne pas vous servir des binaires générés par nos soins vous pouvez compiler vous même les sources.

Sous linux Il faut tout d'abord générer les makefiles et vérifier que toutes les bibilothèques nécessaires à la compilation sont installées, pour cela nous utilisons les outils autoconf/automake, qui permettent de le faire pour vous. Dans une console dans le répertoire racine de la librairie dézippée tapez :

                $ ./configure (vous pouvez choisir le chemin d'installation avec l'option --prefix=/usr/local par exemple)

Une fois ce script fini si tout s'est bien passé, il a généré les makefiles nécessaires à la compilation de la librairie. Toujours dans le répertoire racine de la librairie tapez :

                $ make

La librairie compile donc et génère les extensions nécessaires grâce à l'outil libtool. C'est à dire que vous allez avoir à disposition une librairie statique (.a) et une librairie dynamique (.so).
Pour l'installation des binaires tapez :

                $make install

Les binaires de la librairie s'installeront alors dans l'emplacement spécifié dans l'option --prefix de configure ( si vous ne la mettez pas elle sera installée dans /usr/local/bin. Il ne vous reste plus qu'à placer les includes là où vous désirez ( ceci n'est pas encore fait automatiquement). Pour cela copiez le répertoire include de l'archive et son contenu là où bon vous semble (vous pouvez les mettre dans le répertoire de votre application ou dans repertoire déclaré par le PATH ).

Sous Windows, nous avons laissé le point projet de dev-C++. Ce projet créé par nos soins permet de construire une librairie partagée dll. Il est également possible de créer un librairie statique en changeant le type de projet en "librarie statique".
Avant la compilation il faudra d'abord installer la librairie POSIX Threads for Win32 sur laquelle nous nous basons pour utiliser des threads POSIX sous Windows. Il suffit de copier la dll ou le .a dans le répertoire /lib de dev-C++ et les includes dans le repertoire /include de devC++.
Vérifiez bien que les options d'inclusion de librairie -lwsock32 (pour les sockets) et -lpthreadGCE2 ( librairie pThread for Win32) sont bien spécifiées dans les options du projet.
Il ne vous reste plus qu'à construire le projet en appuyant sur le bouton approprié.

Si vous rencontrez des problèmes n'hésitez pas à demander du support dans la rubrique "support" du forum.


Utilisation


Sous linux, si vous avez bien spécifié l'endroit des binaires dans le LD_LIBRARY_PATH l'utilisation est simple, il suffit juste de spécifier son inclusion lors de l'édition des liens avec l'option -lpts1.
Par ex :

               
            $g++ main.o -lpts1

Sous Windows, ce n'est pas plus compliqué, il faut lier la dll ou le .a lors de la compilation, reportez-vous à la documentation de votre logiciel de développement.
Si vous utilisez la librairie statique il vous faudra spécifier les autres librairie à lier, c'est à dire utiliser les options -lwsock32 et -lpthreadGCE2. Par contre si vous utilisez la dll, il faudra juste spécifier celle-ci lors de l'édition des liens. Comme la dll de la librairie est liée dynamiquement à la dll de la librairie , lors de l'exécution de votre programme, elle vous sera demandée par Windows, ainsi que la dll de MinGW.

Si vous rencontrez des problèmes n'hésitez pas à demander du support dans la rubrique "support" du forum.


Mailing list

Pour avoir les dernières infos concernant la libPTS++ vous pouvez vous inscrire à la mailing-list. Un email vous sera envoyé pour vous signaler la sortie de nouvelles versions avec les changelogs, ou pour la découverte de bugs ou tout autre info importante...


Vous pensez avoir détecté un ou des bugs !


Vous pouvez nous reporter ces bugs dans la rubrique "bugs" sur la page du projet sourceforge en expliquant précisement lors de quelles actions les bugs se déclenchent. Si vous pouvez, envoyez nous le bout de code (ou un exemple) déclenchant ces bugs, ce qui nous permettera de les corriger plus rapidement.



Licence


La librairie libPTS++ est protégée par la licence protectrice libre GNU LGPL (Lesser General Public License). Vous pouvez consulter le texte en anglais sur cette page, pour ceux qui aurait du mal avec l'anglais, une version traduite en français est disponible sur cette page (attention il s'agit d'une traduction non officielle).



Qui sont les auteurs ?


Jonathan MERCIER et Rodolphe FOISSY, étudiants en 1ère année de MASTER M-STIC à l'université de Reims Champagne-Ardenne.



Remerciements


Nous tenons à remercier Olivier Flauzac, Professeur des universités en informatique à l'université de Reims Champagne-Ardenne, initiateur de ce projet.



Liens


http://www.mingw.org/
le site de Minimalist GNU for Win32
http://www.bloodshed.net/dev/
le site de dev-C++
http://www.parinyasoft.com/
le site de MinGW developper Studio
http://www.stack.nl/~dimitri/doxygen/ le site de Doxygen
http://sourceware.org/pthreads-win32/ le site de la librairie pthread for Win32.


Valid HTML 4.01!

Document made with Nvu