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
- Host: GitHub
- URL: https://github.com/apwhitehat/openmp-irc
- Owner: APwhitehat
- Created: 2016-11-05T15:48:45.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-03-17T00:47:11.000Z (almost 9 years ago)
- Last Synced: 2025-04-13T15:37:53.885Z (9 months ago)
- Topics: asynchronous, cpp, irc, multithreading, nonblocking-sockets, openmp
- Language: C++
- Homepage:
- Size: 20.5 KB
- Stars: 4
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
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 )