/openMP-IRC

An IRC server and client based on openMP and Non-Blocking Sockets

Primary LanguageC++

An IRC made as a personal Project/Assignment

I don't intend to infringe copyrights

Introduction

This uses NON-Blocking sockets to communicate between server and client Uses openMP to handle multiple clients .

Salient features

  • Multiple clients can chat with each other simultaneously
  • Msg by Nickname and by channel
  • Message waits for offline client

How to use

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

Manual

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

Server

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

Credits

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 )