Professional Documents
Culture Documents
on
Chat Application
Submitted By:
Kumar Gaurav (MRT09UGBCS013)
CERTIFICATE
This is to certify that the project work under
titled as
Chat Application
Is the bonfire work of
ACKNOWLEDGEMENT
Kumar Gaurav
Table of contents
Sr. No
Topic
Page Number
Introduction
05
System Analysis
07
2.1 Definition
07
07
07
08
08
11
13
System Specification
14
14
15
Organization Profile
16
Specification of Language
17
System Design
24
24
25
25
26
32
6.6 ER Diagram
34
36
Coding
37
Testing
40
Security
42
10
Screen Shots
43
11
Future Enhancement
49
12
Conclusion
50
13
Bibliography
51
INTRODUCTION
1. INTRODUCTION
Teleconferencing or Chatting, is a method of using technology to bring people
and ideas
together despite of the geographical barriers. The technology has been
available for years but the acceptance it was quit recent. Our project is an
example of a chat server. It is made up of 2 applications the client
application, which runs on the users Pc and server application, which runs on
any Pc on the network. To start chatting client should get connected to server
where they can practice two kinds of chatting, public one (message is
broadcasted to all connected users) and private one (between any 2 users
only) and during the last one security measures were taken.
SYSTEM ANALYSIS
2.1 System Objectives
Communication over a network is one field where this tool finds wide
ranging application. Chat application establishes a connection between 2 or
more systems connected over an intra-net or ad-hoc. This tool can be used for
large scale communication and conferencing in an organization or campus of
vast size, thus increasing the standard of co-operation. In addition it converts
the complex concept of sockets to a user friendly environment. This software
can have further potentials, such as file transfer and voice chatting options
that can be worked upon later.
Used for communication between multiple systems enlisted in the resolved list.
Methodology:
The user interacts with the tool using a GUI.
1
The GUI operates in two forms, the List form & the chat form.
2
The List form contains the names of all the systems connected to
a network.
3
The chat form makes the actual communication possible in the
form of text.
List form:
In this form, all the names of the systems connected to a network are
enlisted. These names can later be used for communication with the help
of mouse event, or in simple language: a click or a double click.
2
Chat form
This form is called only when an element is selected from the List form.
In this form, a connection is created between the host system and the
selected system with the help of a socket.
Flow Chart
START
List Form
(List of names of systems
Is name
selecte
List
Form
No
No
Yes
Yes
Chat form
(Text messages sent and received as packets
Form
Yes
closed
When the sent button is clicked, in the background, the text in the
textbox is encoded and sent as a packet over the network to the client
machine. Here this message is decoded and is shown in the rich
textbox.
10
To make it more realistic, the self sent message is shown in the
rich textbox as well. Both
9
SYSTEM SPECIFICATION
3.1 Hardware requirements
In hardware requirement we require all those components which will provide
us the platform for the development of the project. The minimum hardware
required for the development of this project is as follows
Ram- minimum 128 MB
Hard diskminimum 5 GB
Processor- Pentium 3
Floppy drive 1.44 inch
CD drive
These all are the minimum hardware requirement required for our project. We
want to make our project to be used in any. Type of computer therefore we
have taken minimum configuration to a large extent.128 MB ram is used so
that we can execute our project in a least possible RAM.5 GB hard disk is used
because project takes less space to be executed or stored. Therefore
minimum hard disk is used. Others enhancements are according to the needs.
We will be using visual basic as our front hand because it is easier to use and provides features to
the users which is used for the development of the project.
SOFTWARE ARCHITECTURE
4.1.1 Socket Overview
A socket is an object that represents a low level access point to the IP stack.
This socket can be opened or closed or one of a set number of intermediate
states. A socket can send and receive data down disconnection. Data is
generally sent in blocks of few kilobytes at a time for efficiency; each of these
block are called a packet.
All packets that travel on the internet must use the Internet Protocol. This
means that the source IP address, destination address must be included in
the packet. Most packets also contain a port number. A port is simply a
number between 1 and 65,535 that is used to differentiate higher protocols.
Ports are important when it comes to programming your own network
applications because no two applications can use the same port.
Packets that contain port numbers come in two flavors: UDP and TCP/IP. UDP
has lower latency than TCP/IP, especially on startup. Where data integrity is
not of the utmost concerned, UDP can prove easier to use than TCP, but it
should never be used where data integrity is more important than
performance; however, data sent by UDP can sometimes arrive in the wrong
order and be effectively useless to the receiver. TCP/IP is more complex than
UDP and has generally longer latencies, but it does guarantee that data does
not become corrupted when travelling over the internet. TCP is ideal for file
transfer, where a corrupt file is more unacceptable than a slow download;
however, it is unsuited to internet radio, where the odd sound out of place is
more acceptable than long gaps of silence.
Create a
UDP
socket
easily establish and communicate over TCP/IP network connections between client
and server processes, possibly residing on different hosts. The Endpoint class
follows a telephone-like model of networking: clients "call" servers and servers
"answer" clients. Once a network connection is established between a client and a
server, the two can "talk" to each other by reading from and writing to the
connection.
The Software Process Model used is the Spiral Model. The choice for this model is in
the light of the
enhancements that we foresee for the future. The enhancements would be in the
area of Networks being
introduced into the software.
The functionalities and responsibilities of the system were partitioned and then
assigned
The user interface that the software provides to the user is interactive. It provides
two different forms, one for list of systems and the other for the actual text chatting.
This module handles the code that is necessary to view the different aspewcts of the
network connections in a system. It uses net.exe to resolve the names of the
system connected to a network to which the host system is also connected. It then
enlists these names into the first form of the application.
4.3.3 Connection
This module deals with the establishment of a connection between the host system
and the system selected from the list. The connection is made by the help of sockets
that uses ports to send and receive packets from one system to another. The
message sent or received is coded and is encoded or decode respectively.
4.4 Conclusion
This chapter has given a broad picture of the design of the software in terms of the
different modules used. It also gives us an idea about the degree to which each
module performs related tasks. We also get an idea about the interdependence
among the modules.