multicast chat with file and desktop sharing
DESCRIPTION
Developed a Multicast Chat application with file and desktop sharing features among its users into java and submitted in college as final year major project.TRANSCRIPT
A
PROJECT REPORT
On
Chat Server with File & Desktop Sharing
Under the Guidance of
Mr. Vikram Singh Chouhan
(In partial fulfillment for the award of the degree of)
Bachelor of Technology
IN
INFORMATION TECHNOLOGY
2012-2013
Submitted by
Khagendra Kumar Chapre
Akhil Pal
Manauwar Alam
Submitted to
Department of Information Technology
Govt. Engineering College, Bikaner
Rajasthan Technical University, Kota
May, 2013-05-31
ii
CANDIDATE’S DECLARATION
I hereby declare that the work ,which is being presented in the project entitled “Chat Server
with File & Desktop Sharing” towards the partial fulfillment of the requirement for the
award of the degree of Bachelor of technology in Information Technology submitted in the
Department of Information Technology Government Engineering College
Bikaner(Rajasthan) affiliated to Rajasthan Technical University, Kota is a record of my work
under the guidance of Mr. Vikram Singh Chouhan Department of Information Technology
Government Engineering College Bikaner(Rajasthan).
Date 31/05/2013
Place: Bikaner Khagendra K Chapre
CERTIFICATE
This is to certify that the above statement made by the candidate is correct to the best of
my Knowledge and belief.
Date 31/05/2013
Place: Bikaner Mr. Vikram Singh Chouhan Asst. Prof.
Department of IT
Govt. Engineering College, Bikaner
iii
ACKNOWLEDGEMENT
I express my sincere thanks to our project guider, Mr. Vikram Singh Chouhan, our HOD Mr.
Ajay Choudhary, our Faculties Members and other staff whose help have made me complete my
project. I am also grateful to my dearest friends who have encouraged and helped me in every
possible way at every step. I am grateful to them for guiding me right from the inception till the
successful completion of the project .Their motivation and encouragement have made me
achieve knowledge upon this project and my full engineering session. I sincerely acknowledge
them for extending their valuable guidance, support for literature, critical reviews of project and
the report and above all the moral support they had provided me with all stages of this project. I
have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. I would like to extend my sincere thanks
to all of them .I am highly indebted to our mentor for their guidance and constant supervision as
well as for providing necessary information regarding the project & also for their support in
completing the project.
I would like to express my gratitude towards my parents & member of Govt. Engineering
College Bikaner for their kind co-operation and encouragement which help me in completion of
this project .I would like to express my special gratitude and thanks to all teachers for giving me
such attention and time .My thanks and appreciations also go to my colleagues in developing the
project and people who have willingly helped me out with their abilities.
Date 31-05-2013 Khagendra K Chapre
iv
ABSTRACT
Chatting, is a method of using technology to bring people and ideas “together” despite of the
geographical barriers. The Chat Server is Communication Software intended for sending and
receiving messages between the members logged in. The Chat server can be configured to listen
at a particular port specified by the system administrator. The Chat clients have to register
themselves with a username and password. The administrator will have privileges to allow or
discard the user registration. Users can also share files among them and also can share their
desktop screens. Thus a project with chatting and file sharing and also desktop sharing provides a
solution to the people to for easy communication and they can share their selves also their ideas
and innovations.
v
Table of Contents
Candidate’s Declaration & Certificate…….……………………………………………...i
Acknowledgements………………………………………………………….……............ii
Abstract…………………………………………………………………..……………….v
Table of Contents………………………………………………………...…………….....vii
List of Figures……………………………………………………..………………..........viii
1. Introduction……………………………………………………………………………………………………....1
2. Literature survey……………………………………………………………………………………………….2
3. Requirement Specification ………………………………………………………………………………..3
4. Architectural Design …………………………………………………...........................................7
5. Test Planning …………………………………………………......................................................19
6. Result …………………………………………………..................................................................24
7. Conclusion & Future Work………………………………………………………………………………….28
REFERENCES……………………………………..……………………………...........29
vi
7
List of Figures
Figures Page No.
1. Use Case Model Diagrams 05
2. Functional Description Client side 06
3. Functional Description server side 07
4. Functional Description Client – Server Application 08
5. Functional Description Client Side 10
6 .Functional Description Client Side 10
7. 0 Level Data Flow Diagram 11
8. 1 Level Data Flow Diagram 12
9. E-R Diagram 13
10. Working Snapshot server side window 25
11. Working Snapshot Client side window 25
Chapter 1
INTRODUCTION
8
Chat server is a standalone application. To start chat you must be connected with the
server after that your message can broadcast to the client though which we want to chat.
Chat system is a complete client/server chat solution, independent chat system (it
does not depend on any product of communication and chat). Chat system
application is a GUI interface. This application makes it easy to find people on a
network and communicate with them easily without being online and makes net
messages easier to read.
On the other hand file sharing application is also implemented where a user can
download a file. We are providing the path to the directory where we have stored our file
to the user who wants to download particular file.
We are also providing desktop sharing features among its registered users; this is a beta
attachment in this chat system and need to improve in future works.
Some features of the application are as follows:
This application is used for sending messages from one client to another client. In
this, server takes a message from the sender client and sends to another client. If
any client wants to join the chatting then he runs the client application on client
side, enters the login name and hits the login button and starts the chatting with
other client.
In this we are maintaining the list of user names (client name) also. After creating
the connection with server, client sends the user name to server and server store it
in the array list and sends this array list to all clients. Same like this when any
client has logged out then server remove this name from the array list and send
this updated array list to every client.
In this application we are providing a file sharing system where a registered user
can view or download files of other user.
Another mile stone feature of this app is that users can share screen among them,
this is provided by java.awt.Robot class.
Chapter 2
9
LITERATURE SURVE
1. According to the survey made on the network used in small scale industries, colleges,
offices and cafes.
2. LAN/WLAN with client-server mode is mostly used network in small scale industries.
3. Here we are implementing it in data transfer with file sharing.
4. The server should be connected for login.
5. The client must have knowledge about networking.
6. The database connectivity of the project should be done properly so data can be
retrieved easily.
7. He/ she must have knowledge about java.
8. The jdk should be installed in the pc on which the project is running.
9. The Wamp server should be in running state.
10
Chapter 3
REQUIREMENT SPECIFICATION
Scope:
LAN chat application is one of easiest way to chat with your friends through
LAN/WLAN or over a AdHoc network. No internet connection is needed. The only thing
which requires is server IP address and you will be able to connect to others members
through LAN. It can help you to talk to your friends even you both do not have internet
connection as it is based on LAN. It connects different client to each other and also client
to main server. So we have used the same concept here we are connecting two client or
client and server with each other and providing the IP address we can talk with each
other.
On the other hand file sharing application is also implemented where a user can upload a
file or download a file. We are providing the path to the directory where we have stored
our file to the user who wants to download particular file.
Technologies to be used
Language used:- JAVA
Java is a programming language originally developed by James Gosling et
al at Sun Microsystems (which has since merged into Oracle Corporation) and
released in 1995 as a core component of Sun Microsystems' Java platform.
Java is a general-purpose, concurrent, class-based, object-oriented language
that is specifically designed to have as few implementation dependencies as
possible.
Operating system used:-Windows XP
Windows XP is an operating system produced by Microsoft for use on personal
computers, including home and business desktops, laptops and media centers. First
released to computer manufacturers on August 24, 2001, it is the second most
popular version of Windows, based on installed user base.
11
Database used: - My Sql
MySQL is a open source database system. This is the easier to implement and
most used database over the world. As a database, it is a software product.
Whose primary function is to store and retrieve data as requested.
GENERAL REQUIREMENTS
Functionality
The application includes the following functionalities:
File transfer from one user to another
Desktop Sharing among users
Sending messages
Receiving messages
Chatting
Accessing files on remote system
12
Use Case Model Diagrams:
Interfaces:
Hardware Required: -
Any PC with WiFi or LAN
Software Required:-
J2SE:-JDK 1.6 or higher
Apache server
My SQL
Net beans 7.0 or higher
Any Operating system with JRE6 or higher install
General Constraints:
LAN/WLAN/AdHoc connection should be there
User must be having knowledge about networking
IP address must be known for file sharing
13
Chapter 4
ARCHITECTURAL DESIGN
Functional Description:-
Client side:-
Client window
Give the IP address
to login
New user
registered
Already
registered
Connection would
successfully established
to server
14
Server side:
15
Functional Diagram
Client - Server
application
Server Side
Application
Client Side
Application
Join the server by
giving the IP
address
Host a server
and bind with the IP address
to accept
connection
Chat
Wait for
client
request
Chat with client
Receive msg
Send msg
Chat
16
The project basically is divided into two sections: - Server and Client.
The server has the full control of the information.
Client who can chat with another client for any reason or can search any file he wants.
The chat part basically deals with message sending and receiving between one client
to another client. When a client requests for the chat, server starts the session of chat
and both can send and receive the message one at a time
The server can store files, search, delete them. The information is stored in the
database at server. When client requests for it, the server searches the required from
the database and replies back to the client.
The system is basically divided into two broad sections:-
Server: - It is responsible for hosting the server so that client can start
communication session.
Client: - Client connects to the server by giving the server IP address and
port number to which it should connect to.
Functional Partition
In this there are two modules one is Client window and another one is Server window.
Client side is used to give the IP address to connect the server. After giving IP address we
must gave the user name and password to login. And then we are chat to another client
and share the file easily.
At Server side the IP address of the client is saved and login time, username and all
information related to client is saved.
17
Functional Block Diagram
Client side:
Client Window
Username
and password
Give the IP
address
Connection is
done
successfully
Do chat and
share file
Server side:
18
Module Dependencies
Input Dependencies
Input dependencies of input module are listed below; all the entries, i.e., the IP address,
username and password must be specified in it, so as to login successfully and do chat
and easily share the files.
Output Dependencies
Module Data Description
Input
module
IP address, username
and password
The output will be displayed only
if the data is entered correctly.
Data Flow Diagram
Client
Server Request
Reply
0 level dfd
19
User
Validate user_id and
password
Send and receive
messages
Server
Server
Request for
log_in
Access
granted or
denied
File
transfer
Server
1 level dfd
20
E-R Diagram
An ER diagram is a specialized graphic that illustrates the interrelationships between
entities in a database. ER diagram often use symbols to represent three different types of
information. Boxes are commonly used to represents entities. Diamonds is normally used
to represent relationships and ovals are used to represent attributes.
Database Description
Mysql Database Name: netappdb
Table Description
Table Name Description
Usermaster This table contains details of all registered users
CLIENT 1
File
download
chat,
Desktop
sharing
CLIENT 2 SERVER
CLIENT 3
21
User Interface Design
Module Name:
Server window: It contains following tabs
Log Details
Downloads
Transfers
Current State
Client Window: It is divided into:
IP window
Login window
New register window
Start window
22
23
SERVER SIDE WINDOW:-
This window shows the information about client that when will he will login n logout
SERVER WINDOW
Current status
24
CLIENT SIDE WINDOW:-
In this window client give his IP address.
This window will show when IP address entered should be correct and client will be
successfully connected to server
This window will appear after establish the connection to the server in which user
give his login id and password to login in his account.
IP ADDRESS
Enter the IP address
OK CANCEL
IP ENTRY
SUCCESSFULLY CONNECTED TO
SERVER
OK
LOGIN WINDOW
ENTER LOGIN ID
PASSWORD
LOGIN
NEW REGISTRATION
25
This window will appear when user will already not register himself and want to
register.
This window will appear when the client will successfully log in.
REGISTRATION
LOGIN ID
PASSWORD
CONFIRM PASSWORD
EMAIL ID
CONTACT
REGISTER CANCEL
LOGIN STATUS
SUCCESSFULLY
LOGGED IN
OK
26
This window will show after the client will login in his account.
This window will appear when user wants to logout from his account or when client
want to close session and logout from the system
HELLO
CHA
T
SEND
Shows the message
send and receive
Write the
message which
you want to
send
LOGOUT
DO YOU WANT TO LOGOUT!
OK CANCEL
27
Chapter 5
TEST PLANNING
System Passing Criteria
The criteria to check if the system is working properly:
1. By the input of the details asked, the IP address, username and password should
be correct.
2. If the input is not correct, the user should get a proper message.
3. The server should store the data properly i.e. when the user will login and logout
and which file he will download.
Functionality Test
Requirement ID
/ Test ID Module/Class Features
1 Server connected
After giving the IP address correctly the
message will display that successfully
connected to server
2 Register Before login he/she register himself.
3 Login After giving username and password
correctly the user will successfully login
4 Online user The client will easily see that which user will
online at that time.
5 Send On click on send the particular message is
end to the desired client
6 Receive Message by sender is receive at particular
client
28
Test Setup
Hardware Required: -
Any PC with WiFi or LAN
Software Required:-
J2SE:-JDK 1.6 or higher
Apache server
My SQL
Net beans 7.0 or higher
Any Operating system with JRE6 or higher install
Test Configuration
Execution of test case is done with the various stepwise checking of modules
and functions.
First of all user will give his IP address correctly to connect to the server.
After that user will register him.
By giving the correct login id and password he/she will login.
The chat window will open after login
He/she will easily see that who will login at that time that he will chat.
Now click on send button the message will be send to the particular client.
Messages send successfully.[7]
29
Test Case Specification
(1) Objectives
The client is successfully connected to server or not.
Module / Class /Function
Server connected
Test Configuration
Without giving the IP address correctly the client should not connected to server.
Expected Output or Results
If the client will connected to server then a message window will display that show client
will successfully connected to server.
Test Passing Criteria
The test case passes if the user will successfully connected to the server.
(2) Objectives
The user will register him.
Module / Class /Function
Register
Test Configuration
Without giving all details correctly the user will not registered.
Expected Output or Results
If the client will give his all details correctly the message will display that you are
successfully registered.
Test Passing Criteria
The test case passes if the user will successfully registered himself.
30
(3) Objectives
The client is successfully login or not.
Module / Class /Function
Login
Test Configuration
Without giving the user name and password correctly the client should not login.
Expected Output or Results
If the client will give username and password correctly he/she will successfully login.
Test Passing Criteria
The test case passes if the user will successfully login.
(4) Objectives
The client will easily show the users which are online at that time.
Module / Class /Function
Online users
Test Configuration
Without login the client will not see that which user will online.
Expected Output or Results
The client will easily see the users which are online.
Test Passing Criteria
The test case passes if the user will successfully see the users which are online.
31
(5) Objectives
The message will send to another client or not.
Module / Class /Function
Send
Test Configuration
Until the client will not write the message the message will not send.
Expected Output or Results
The message will be send successfully.
Test Passing Criteria
The test case passes if the message is successfully send to the another client.
(6) Objectives
The client is successfully receive the message
Module / Class /Function
Receive
Test Configuration
Until the message is not send it will not receive.
Expected Output or Results
The message will be receive successfully.
Test Passing Criteria
The test case passes if the user will successfully receive the message.
32
Chapter 6
RESULTS
Working Snapshot
<Server side window>
33
<IP address window>
In this window the client should enter his IP address.
<Server connected>
This window shows that the client will successfully connected to the server.
<login window>
34
In this window the user will enter login id and password to login.
<login status>
This window will show that the client will be successfully logged in.
<Registration window>
35
If the user will not register then he/she will register him through this window.
<chat window>
36
In this window the client write the message to another client and by click on
send button the message will be receive by the another client.
37
Chapter 7
CONCLUSION & FUTURE WORK
The primary goal of this project is to give an idea about Client Server Chat. This
project has given us an in depth information about java networking and its
applications in day today life. If internet lives up to its potential, it will
revolutionize the way people interact with information technology.
Limitations of the application are as follows:
1.) Before running the client application makes sure the server application is running. If
server is not in running condition then you cannot start the chatting.
2.) Single point of failure, server goes down, the network goes down.
Future work:
1. Includes many client
2. Can be implemented in large network like WAN.
3. Hi-speed multimedia transfer and audio video conferencing support.
4. Control all the computer system (clients) and sub-servers in large network like
INTERNET.
xxxviii
REFERENCES
[1] http://en.wikipedia.org/wiki/file
[2] https://www.google.co.in/search?hl=en&q=flow+chart+for+file+sharin+system
[3]https://www.google.co.in/#hl=en&sclient=psyab&q=+lan+chat+server+and+file+shari
ng&oq=+lan+chat+server+and+file+sharing&gs_l=hp.3..0i22.55047.60640.2.62422.8.5.
0.0.0.3.610.2313.54.4.0...0.0...1c.1fG7iODb3Nw&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.&fp=
13baa87b3aa60d4a&biw=1280&bih=545
[5]http://www.google.co.in/url?sa=t&rct=j&q=&source=web&cd=1&cad=rja&sqi=2&ve
d=0CCAQFjAA&url=http%3A%2F%2Fwww.webopedia.com%2FTERM%2FJ%2FjQue
ry.html&ei=quZqUMibDozMrQe44YCgBg&usg=AFQjCNGCkIKkCZnEVjSoLp2uPUD
BcWm85g
[6]http://powerpointpresentationon.blogspot.in/2009/09/powerpoint-presentation-on-java.html
[7]http://www.google.co.in/search?sourceid=chrome&ie=UTF8&q=sdd+of+chat+server
[8] http://technet.microsoft.com/en-us/library/ee221154(v=exchg.80).aspx
[9] http://it.toolbox.com/blogs/enterprise-solutions/testing-a-sample-test-plan-3283
[10] http://www.d.umn.edu/~tcolburn/cs4531/assignments/team/2012/testplan.xhtml