SlideShare a Scribd company logo
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.guatda.com/cmx.p0...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

More Related Content

PDF
SRS FOR CHAT APPLICATION
PPTX
Chat Application - Requirements Analysis & Design
PDF
Chat Application | RSD
PPTX
News portal
DOCX
project report of social networking web sites
PDF
Chat Application [Full Documentation]
PPTX
Final Year Project BCA Presentation on Pic-O-Stica
PPTX
Social messenger introduction
SRS FOR CHAT APPLICATION
Chat Application - Requirements Analysis & Design
Chat Application | RSD
News portal
project report of social networking web sites
Chat Application [Full Documentation]
Final Year Project BCA Presentation on Pic-O-Stica
Social messenger introduction

What's hot (20)

PPT
Architecture design in software engineering
PPTX
Software Engineering for Web Applications
PDF
Online News Portal System
PPTX
Agile Methodology PPT
PPTX
White Box Testing
PDF
Engineering Software Products: 1. software products
PPTX
Final Project In Instant messaging app that also brings you the intel...
PPTX
Google chrome os
PPTX
Meeting Scheduler using android and web application (UML Diagrams)
DOCX
online blogging system
PDF
Student information chatbot final report
PPT
Unit 8-risk manaegement (1) -
PPTX
Software Development Methodologies
PDF
FINAL REPORT DEC
DOCX
Online movie ticket booking
PPT
Mobile application development
PPTX
Firebase PPT
DOC
Social Networking Website Project Report
PDF
lake city institute of technology
PPT
Bank management system with java
Architecture design in software engineering
Software Engineering for Web Applications
Online News Portal System
Agile Methodology PPT
White Box Testing
Engineering Software Products: 1. software products
Final Project In Instant messaging app that also brings you the intel...
Google chrome os
Meeting Scheduler using android and web application (UML Diagrams)
online blogging system
Student information chatbot final report
Unit 8-risk manaegement (1) -
Software Development Methodologies
FINAL REPORT DEC
Online movie ticket booking
Mobile application development
Firebase PPT
Social Networking Website Project Report
lake city institute of technology
Bank management system with java
Ad

Viewers also liked (13)

PPTX
Chat Application
PPT
Lan chat system
PDF
How to build Android Chat App with Firebase for 2 hours?
PPTX
Client server chat application
PPTX
Windows chat application
PDF
Report on e-Notice App (An Android Application)
PDF
Android report
DOC
Android Report
PPT
Multi user chat system using java
PPTX
PUBLIC POLICY: AN INTRODUCTION
PPT
Chat application
PDF
A project report on chat application
DOC
My Project Report Documentation with Abstract & Snapshots
Chat Application
Lan chat system
How to build Android Chat App with Firebase for 2 hours?
Client server chat application
Windows chat application
Report on e-Notice App (An Android Application)
Android report
Android Report
Multi user chat system using java
PUBLIC POLICY: AN INTRODUCTION
Chat application
A project report on chat application
My Project Report Documentation with Abstract & Snapshots
Ad

Similar to Multicast chat with file and desktop sharing (20)

PDF
International Journal of Engineering Research and Development
PDF
Intranet database
DOCX
HPH Project Report
PDF
M44.pdf dairy management farm report of an
PDF
Minor Project Report On Intranet database
PDF
Project report | Major Project | Engineering | Devansh Koolwal
PDF
Crime file
PDF
CHAT APPLICATION THROUGH CLIENT SERVER MANAGEMENT SYSTEM PROJECT REPORT
DOCX
Property dealing , A .net project
DOCX
File tracking system
PDF
Students Club
DOCX
Major File On web Development
PDF
Advanced Communication over LAN AJCSE Advanced Communication over LAN
DOCX
PERSONALIZED MOVIE RECOMMENDATION SYSTEM MINOR PROJECT REPORT
DOC
Project Report
DOC
Internet mail system java project
DOC
Online Attendance Management System
DOC
3 job adda doc 1
DOCX
Project report on blogs
International Journal of Engineering Research and Development
Intranet database
HPH Project Report
M44.pdf dairy management farm report of an
Minor Project Report On Intranet database
Project report | Major Project | Engineering | Devansh Koolwal
Crime file
CHAT APPLICATION THROUGH CLIENT SERVER MANAGEMENT SYSTEM PROJECT REPORT
Property dealing , A .net project
File tracking system
Students Club
Major File On web Development
Advanced Communication over LAN AJCSE Advanced Communication over LAN
PERSONALIZED MOVIE RECOMMENDATION SYSTEM MINOR PROJECT REPORT
Project Report
Internet mail system java project
Online Attendance Management System
3 job adda doc 1
Project report on blogs

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
MYSQL Presentation for SQL database connectivity
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding

Multicast chat with file and desktop sharing

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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.
  • 5. 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
  • 6. vi
  • 7. 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. 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. 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. 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. 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. 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. 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
  • 15. 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. 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. 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. 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. 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. 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. 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. 22
  • 23. 23 SERVER SIDE WINDOW:- This window shows the information about client that when will he will login n logout SERVER WINDOW Current status
  • 24. 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. 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. 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. 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. 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. 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. 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. 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.
  • 33. 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. 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. 35 If the user will not register then he/she will register him through this window. <chat window>
  • 36. 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. 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.
  • 38. 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.guatda.com/cmx.p0...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