38
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

Multicast chat with file and desktop sharing

Embed Size (px)

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.

Citation preview

Page 1: Multicast chat with file and desktop sharing

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

Page 2: Multicast chat with file and desktop sharing

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

Page 3: Multicast chat with file and desktop sharing

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

Page 4: Multicast chat with file and desktop sharing

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.

Page 5: Multicast chat with file and desktop sharing

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

Page 6: Multicast chat with file and desktop sharing

vi

Page 7: Multicast chat with file and desktop sharing

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

Page 8: Multicast chat with file and desktop sharing

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

Page 9: Multicast chat with file and desktop sharing

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.

Page 10: Multicast chat with file and desktop sharing

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.

Page 11: Multicast chat with file and desktop sharing

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

Page 12: Multicast chat with file and desktop sharing

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

Page 13: Multicast chat with file and desktop 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

Page 14: Multicast chat with file and desktop sharing

14

Server side:

Page 15: Multicast chat with file and desktop sharing

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

Page 16: Multicast chat with file and desktop sharing

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.

Page 17: Multicast chat with file and desktop sharing

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:

Page 18: Multicast chat with file and desktop sharing

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

Page 19: Multicast chat with file and desktop sharing

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

Page 20: Multicast chat with file and desktop sharing

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

Page 21: Multicast chat with file and desktop sharing

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

Page 22: Multicast chat with file and desktop sharing

22

Page 23: Multicast chat with file and desktop sharing

23

SERVER SIDE WINDOW:-

This window shows the information about client that when will he will login n logout

SERVER WINDOW

Current status

Page 24: Multicast chat with file and desktop sharing

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

Page 25: Multicast chat with file and desktop sharing

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

Page 26: Multicast chat with file and desktop sharing

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

Page 27: Multicast chat with file and desktop sharing

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

Page 28: Multicast chat with file and desktop sharing

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]

Page 29: Multicast chat with file and desktop sharing

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.

Page 30: Multicast chat with file and desktop sharing

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.

Page 31: Multicast chat with file and desktop sharing

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.

Page 32: Multicast chat with file and desktop sharing

32

Chapter 6

RESULTS

Working Snapshot

<Server side window>

Page 33: Multicast chat with file and desktop sharing

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>

Page 34: Multicast chat with file and desktop sharing

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>

Page 35: Multicast chat with file and desktop sharing

35

If the user will not register then he/she will register him through this window.

<chat window>

Page 36: Multicast chat with file and desktop sharing

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.

Page 37: Multicast chat with file and desktop sharing

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.

Page 38: Multicast chat with file and desktop sharing

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