Вы находитесь на странице: 1из 12

Chat System On LAN

Object Oriented Programming CSE 219 PBL


Faculty : Abdul Quadir

The Team

14BCE1023 Jude Osbert K

14BCE1024-Gokul Garre

14BCE1163-Savio Thomas

The Concept

Chatting is an important way of conveying ideas between people.


With the increasing trend of Social Networking Sites this activity is at
its maximum.

Chatting can also happen between people in the same office for call
for meetings of leisure time chats in situation where physical
presence cannot be made sure of.

We are trying to build a program based on the same concept of


chatting between two PCs on the same network.

Our Approach to the Program

The program would be utilizing the power of Socket Programming in C++.

Custom Library for communication between PC <->SERVER<->PC i.e. BOOST


LIBRARY

This program would hence implement the concepts of classes and structures
which are required for the effective communication

Layout Diagram

e s of
r
g
o
a
ts f ,Mess base
s
e
equ rs list Data ny
R
e
1
e
PC ne Us om th ends a
i
r
Onl ding f and s
r
Pen Serve
the sages
s
me

Server

PC
On 2 Re
Pe line ques
U
n
of ding sers ts for
me the S from list,
M
ssa erv
ge
er the D essa
s
g
an
d s atab es
en
a
ds s e
an
y

PC 1

Server Transmits the Request Data If


Necessary and Conveys any Message That
Comes in Between for Both PC1 and PC2

PC 2

A Client would have the following


Client PC

Make Online Request

Send Message

End Connection with


server

Receive Message

Modules for clients

MakeOnline() This function would request the server for authentication and
make the user online. This will run without user driving it.

ReceiveUpdates()- This would fetch all the data's that have been stored in the
server since the user left the chat.

SendMessage()- This function would send messages to both servers and other
users especially chat messages.

ReceiveMessage()- This would allow the users to retrieve the messages meant
for them from the server directly.

Features

The program would have three windows working simultaneously with out
using multithreading concept but will utilize the simple concept of thread
programming given along side with BOOST

Three would be independent and will not interfere with each other.

Should they Interfere the Communication will be Done to Bool variables

Users would be automatically Logged in and Logged Out.

Parts of Visual C++ Functionalities will be used for the complete program.

System Requirements

We expect the following requirements for running the program successfully

Windows OS(XP preferred, Vista -10 with Dosbox)

Minimum of 128 MB RAM

Intel Pentium Processor or higher or any AMD Equivalent

40 GB HDD Capacity

References

Complete Reference for C++ -Herbert Schildt

Tutorialspoint.com

Sqlite Documentation(in built in Boost)

Boost Documentation

Future Developments

We expect the following developments in the program after we have gained


knowledge for the same:

The windows would be brought under one Window and Multithreading


would be used.

GUI would be redefined.

Thank You