PROJECT
JBTSERVER

A GPL-licensed POSIX-multithreaded Linux IRC server project

HOSTED BY...

SourceForge Logo
 
 

INFORMATION


 
AUTHOR INFO
 

Jeannot Langlois (jeannot12@linuxmail.org)

Bachelor in Computer Science (1998-2002).

Former student from the mathematics/computer science department at the Universite de Sherbrooke, Quebec, Canada.
 

CONTRIBUTORS
 

Benoit Leblanc    [winter 2001]
Thanh Le Ly       [winter 2001]
Dave Lizotte      [fall 2001]

Also Computer Science students from the Universite de Sherbrooke.
 

BACKGROUND INFO
 

The JBTserver project was started on February 10th of 2001 as a small Networking Class (IFT585) academic project by Jeannot Langlois, Benoit Leblanc and Thanh Le Ly.  The project's goals at that time were:

    - Deepen theoretical notions such as networking, protocols and messages by applying them concretely
    - Learn and perform BSD socket programming
    - Get started with the client/server network architecture
    - Apply structured programming notions taught in class

The JBT team split up after the winter 2001 semester, but being strongly interested in network programming, I decided to continue the project on my own to satisfy my personal (career) interests in telecoms and Linux.

During the fall 2001 semester, me and my new partner (at that time for that specific semester) believed that the transformation of the very basic single-threaded server code we had at that time to a more powerful multithreaded architecture would be an excellent project for our Operating Systems II Class (IFT628).  Our new goals at that time were:

    - Concretely apply notions of parallelism and synchronization (as seen in class) to obtain a better understanding of them
    - Acquire more practical experience with the client/server architecture
    - Practice our ability to reason in parallel
    - Learn POSIX threads programming

For my last semester in Computer Science during the summer 2002 semester, I decided to sign for a Computer Science Project (IFT592).  After designing and implementing a basic mulithreaded server architecture but still not satisfied with the outcome (still far from a REAL WORLD irc server), I wanted to achieve the following:

    - Continue to apply theoretical notions acquired during my studies in Computer Science
    - Get new experience with more advanced POSIX threads features and telelecoms under Linux
    - Acquire experience in high performance server design
    - Learn how to manage a programming project effectively
 

PROJECT INFO
 

The JBTserver project (versions 1.0/1.1) was first started (winter 2001) on:

    - Slackware Linux 7.1
    - Kernel 2.2.16
    - EGCS 1.1.2 compiler (gcc 2.91.66)
    - KDevelop 1.3 development environment

The project (version 1.2) has also been developped (fall 2001) on:

    - Slackware Linux 8.0
    - Kernel 2.2.19
    - GCC 2.95.3 compiler
    - KDevelop 1.4 development environment

But the development/build machine for version 1.3 is now (summer 2002 up to this day):

    - Slackware Linux 8.0
    - Kernel 2.4.18
    - GCC 2.95.3 compiler
    - KDevelop 1.4 development environment

JBTserver is implemented using the ANSI C language.  The choice was obvious, as it is a fast language, one that I have been using in school for a long time, one that has many development tools, one that is portable (widely spread in the Linux community) and allows me to build everything (or so) from scratch so I can learn more.

Althought I am not planning it in the near future, I would also like to put a GNOME/GTK graphic user interface on top of JBTserver once it is functional.  I have played with glade a little just for fun and put some screenshots as well, but reality will probably be a lot different to these -- when implementation time will come, of course.  JBTserver actually contains little pieces of GNOME/GTK code (which has been generated when the project was created), but it is disabled for now.

Please note that since this project was first started in courses I've been taking to my university, most of the source code and comments are in french.  This is also true for the current documentation.
 

PROJECT MAIN GOALS
 

I wish someday this project turns as close as possible to a real irc server.
JBTSERVER is actually 13000 lines long -- and keeps on growing.
 
 

Page last updated 2003/01/31

________________________________________________________________________
RETURN TO PROJECT JBTSERVER
A GPL-licensed POSIX-multithreaded Linux IRC server project
HOSTED BY...

SourceForge Logo