An open API service indexing awesome lists of open source software.

https://github.com/apwhitehat/openmp-irc

An IRC server and client based on openMP and Non-Blocking Sockets
https://github.com/apwhitehat/openmp-irc

asynchronous cpp irc multithreading nonblocking-sockets openmp

Last synced: 6 months ago
JSON representation

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

Awesome Lists containing this project

README

          

#### 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 )