I don't intend to infringe copyrights
This uses NON-Blocking sockets to communicate between server and client Uses openMP to handle multiple clients .
- Multiple clients can chat with each other simultaneously
- Msg by Nickname and by channel
- Message waits for offline client
To Setup a client , one need to compile the client.cpp onto their pc .
call the client with hostname of the server and respective port
./client hostname portno
For single one to one msg
/msg nick "your message"
For channel msg
/cmsg chname "your message"
For public broadcast
/all "your message"
To create a new channel
/add channelname
To join a channel
/join channelname
To quit your client
quit
To setup Server , one needs to compile server.cpp with server.h .
Simple right ? , NO it gets a little tricky
your gcc version must support openMP and compilation needs to done with an
-fopenmp
option
Refer how to compile openMP Programs
Code starting template
A tcp/ip server using OpenMP
Pacheco Introduction To Parallel Programming Morgan Kaufmann (openMP concepts)
www.tutorialspoint.com/unix_sockets/index.htm (for understanding Sockets & networking )
www.linuxhowtos.org/C_C++/socket.htm (for understanding Sockets & networking)
Berenger Bramas's blog (for multithreading & HPC)
Beej's guide to networks (for network/socket system calls reference )