Remote Sharing Application

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

A

Report on
REMOTE SHARING

Submitted By:- Submitted To:-

SWAPNA SABU (RCEW, VII SEM) Mr. Tulsi Gurjar

HITESH KHANDELWAL (IIMET, VII SEM) (Pratham Solutions)

RAVIKA JAIN ()
INDEX
10

ACKNOWLEDGEMENT

It’s a great pleasure to present this Report of summer training in PRATHAM


SOLUTIONS PVT. LTD., JAIPUR.

At the outset, I would like to express my immense gratitude to my training guide


guiding me right from the inception till the successful completion of training.

I am falling short of words for expressing my feeling of gratitude towards him for
extending their valuable guidance about web designing and for literature, Critical
review of project and the report and above all the moral support he had provided me
with all stages of the training.

I would also like to thank my teacher, friends and all my group members for their help
and co-operation throughout the training.

Swapna Sabu

Hitesh Khandelwal

Ravika Jain

(B-Tech, VII Sem)

2
Business Requirement Document

2.1 Executive Summary


This is a remote sharing application (100 % built on java) which allows an individual
to communicate and have access to another computer when physical access to the
computer is not possible or convenient.

Figure 1: Initiating connection

The following tasks can be performed using this application:

Chat – The user and its partner is able to chat with each other. This help user to get
any information or solution of their problem and also to share his knowledge with
others.

3
File Transfer - The file transfer service is a method of transferring files. There is no
apparent limit on the size of files transferred with this method. This service is
available during one-on- one sessions only. Through the file transfer service, users can
transfer files from almost anywhere on their system or from the remote system.

Remote Control - Remote control is the ability to control a system from a secondary
location other than that of the primary location of the system being accessed. Using
this, the user can view the system in which their partner is working on.

2.1.1 Strategic Business Objectives


Objectives are prioritized by an organization through a thorough analysis of business
practices such as a SWOT analysis. SWOT stands for strengths, weaknesses,
opportunities and threats.

The strategic objective are:

 Achieve user satisfaction at the rate of 98%.


 Increase competitiveness versus other application.
 Manage any disruption in application.
 Increasing new interesting and attractive features in the application.

4
2.1.2 System Objectives
Remote Sharing Application includes the following objectives:

 Send Message Text


 Receive Message Text
 Send any Documents or File
 Receive any Documents or File
 View Remote Desktop.
 Mouse Movement Control.
 Keyboard Control.
 Mouse Button control.

2.1.3 Project Scope


The scope of this project is to provide user an application,

 Which will help them to communicate with their partner.


 And can have control over there partner’s computer without using
internet.
 Out of Scope
 This application is capable of working only on LAN.
 Without LAN, this application will not allow user to connect with their
remote partner.

2.1.4 Key Success Factors


 Number of new users per year.
 Number of lost users per year OR the number of users retained.
 Low cost structure.
 Successful new feature introduction.

2.1.5 Benefits
5
This project will help user to

 Communicate with their partner privately even if they both do not have
internet.
 Share files with their partner using FTA.
 View their partner’s desktop.
 Use this application without the need of internet connection. The only thing
which requires is server IP address and you will be able to connect to other
members through LAN.
 Use this application with minimum cost.

2.2 Baseline & Functional Goals

2.2.1 Needs
 LAN cable.
 Two PC’s.

2.2.2 Features
This project contains following essential features:

S.No. Feature Description

1. Works only on Local Area Network is a computer network that interconnects


LAN. computers within a limited area

2. User friendly This project is user friendly and does not create any problem to
GUI. users.

3. Supported by This project can run on Windows OS.


Windows.

4. Simple chat Used to communicate with the remote partner.


application.

6
5. File Transfer Used to share file between user and their remote partner.

6. Optimized This feature helps user to view desktop of their remote partner.
screen transfer.

Software Requirement Specification

3.1 Introduction
The purpose of this SRS is to cover all the different areas for the project requirements.
The documents will also include all the input / outputs / assumption / actions /
dependencies for the project.

3.1.1 Overview
Remote sharing application allows an individual to communicate and have access to a
computer when physical access to the computer is not possible or convenient. With
remote viewing software, a user can access his or her computer through LAN. 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.

As it is based on LAN. LAN is a network which connect client to main server. So we


have used the same concept here we are connecting client and server with each other
and by providing the IP address we can communicate with each other.

7
Figure 2: Connection using LAN

Basically, there are three components which plays an important role so that Remote
Sharing application could work. They are:

 Remote Server
The part which awaits the client to connect in the port opened for connection is
termed as Remote Server.
This part usually interact with Client and exchange files with each other and
receives the screenshot of the client and loads the image thus received in a
frame. The frame then starts listening mouse and key events. The key and
mouse events thus received are sent to the client computer through network.
 Remote Client
This part usually connect with server and interacts with it, exchange files but
the core function of this part is to send the screenshots of the computer to the
server part in certain interval and to implement the mouse and key events sent
from the server part.
 Network
Network can be defined as the way of communication in this context. It is the
medium through which the server and client can interact with each other.
However, the network used to setup for remote sharing app is through LAN.
In this particular project we are going to establish the connection between the
server and client through LAN. The connection between the server and client
must be authorized. For this purpose we have implemented simple way in
which the client only, is able to connect to the server, feeding the IP address of
the server in the client module. However, the server should be ready to receive
the connection from the client beforehand.

8
3.1.2 Feasibility Study
The main objective of this study is to determine (Remote Desktop) RD is feasible or
not. Mainly there are three types of feasibility study to which the developed system is
subjected as described below. The key considerations are involved in the feasibility:
1. Technical feasibility

2. Economic feasibility

3. Operational feasibility

The developed system must be evaluated from a technical viewpoint first, and their
impact on the organization must be accessed. If compatible, behavioural system can
be devised. Then they must be tested for the feasibility. The above three keys are
explained below:

 Technical Feasibility
Remote Desktop Application satisfies technical feasibility because this Service
can be implemented as a stand-alone application. It is Microsoft Windows OS
compatible.

 Economic feasibility

Our project entitled Remote Desktop (RD) is economically feasible because it


is developed using very less amount of economic resources. It is Free.

 Operational feasibility

Operational feasibility should be accounted after the software is developed so


that it can cope up with the defined objectives.

 The application is user friendly with its GUI and handy to use.
 The application is be affordable because the requirement is just normal
computers with working LAN port.
 Since this application is developed in Java it runs both on Windows and
Linux system.

3.1.2 Acronyms
S. No. Acronym Explanation

1. LAN Local Area Network is a computer network that interconnects


computers within a limited area such as a home, school, computer

9
S. No. Acronym Explanation

laboratory, or office building, using network media.

File Transfer Protocol  is a standard network protocol used


2. FTA
to transfer computer files from one host to another host. 

Internet Protocol is a numerical label assigned to each device (e.g.,


3. IP computer, printer) participating in a computer network that uses
the Internet Protocol for communication.

A graphical user interface (GUI) is a human-computer interface (i.e.,


a way for humans to interact with computers) that
4. GUI
uses windows, icons and menus and which can be manipulated by a
mouse (and often to a limited extent by a keyboard as well).

1. Operating System is the low-level software that supports a


computer's basic functions, such as scheduling tasks and controlling
5. OS
peripherals.

3.1.3 References
Sources of information is referenced in this SRS.

3.1.5 Intended Audience


 Project Owner (Client)
 PSI Project Team
 PSI Quality Manager
 PSI Marketing Manager

3.2 Existing Business Processes

3.2.1 Introduction
To perform the workflow analysis, it is paramount to understand the existing business
processes completely. This section describes all current business processes and their
interaction with external entities and systems using graphical data flow models.

10
3.2.2 Use Case Diagram

3.2.2.2 Use Case Description


A use case diagram at its simplest is a representation of a user's interaction with the
system and depicting the specifications of a use case. A use case diagram can portray
the different types of users of a system and the various ways that they interact with the
system.

This type of diagram is typically used in conjunction with the textual use case and will
often be accompanied by other types of diagrams as well.

A use case is an external view of the system that represents some action the user
might perform in order to complete a task. A use case is a set of scenarios that
describing an interaction between a user and a system.  A use case diagram displays
the relationship among actors and use cases.  The two main components of a use
case diagram are use cases and actors.

Actors: An actor portrays any entity (or entities) that perform certain roles in a
given system. The different roles the actor represents are the actual business roles of
users in a given system. An actor in a use case diagram interacts with a use case.

Use case: A use case in a use case diagram is a visual representation of a distinct
business functionality in a system. The key term here is "distinct business
functionality." To choose a business process as a likely candidate for modelling as a
use case, you need to ensure that the business process is discrete in nature.

11
3.2.2.4 Use Case Diagram

12
System
Port No.

IP Address

Chat
<<extend>>

<<extend>>
Send Message
Receive Message

Server File Transfer

<<extend>>

<<extend>> Client

Send File
Receive File

Remote Control

<<extend>>

<<extend>>

Client's Screen Exit

Figure 3: Use Case diagram of Remote Sharing Application

4.3 System Architecture


A system architecture is the conceptual model that defines
the structure, behavior, and more views of a system. An architecture description is
a formal description and representation of a system, organized in a way that
supports reasoning about the structures and behaviors of the system.

A system architecture can comprise system components, the externally visible


properties of those components, the relationships (e.g. the behavior) between them.

13
It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system. 

Figure 4: System Architecture of Remote Sharing Application

The above is the architecture diagram of our project. The server module contains
four prime classes namely: GUI Frame, FServer, ChatServer and DesktopServer. The
client module also contains three prime classes namely: GUI Frame, FClient,
ChatClient and DesktopClient.

14
Following are the classes used in this application:
 RLogin.class: It creates the basic GUI on both server & client side and
provides an option to tune the computer either as server or client. It also the
necessary inputs for the connection.
 DesktopServer.class: It starts the server, binds the port and waits for the
connection. It loads the screenshot received from the client module. It also
captures the keyboard and mouse events and sends over the network to the
client module.
 FServer.class: It starts the server, binds the port and waits for the connection.
It generates the basic frame which sends any documents or file to client and
receive any documents or file from the client.
 ChatServer.class: It starts the server, binds the port and waits for the
connection. It generates the basic frame which displays the message from the
client and sends the text message to the client.
 DesktopClient.class: It starts the client and connects the client to the
specified computer with the provided IP address. It captures and sends the
screenshot and implements the mouse & keyboard events received from the
server.
 FClient.class It starts the client and connects the client to the specified
computer with the provided IP address. It generates the basic frame which
sends any documents or file to server and receive any documents or file from
the server.
 ChatClient.class: It starts the client and connects the client to the specified
computer with provided IP address. It generates the basic frame which
displays the message from the server and sends the text message to the server.

Other classes used to implement this project are as follows:


Mouse.class: It contains the attributes of mouse event. This class is registered on both
server and client side in order to send the instance of this class over the network.
Key.class: It contains the attributes of keyboard event. This class is registered on both
server and client side in order to send the instance of this class over the network.
ScreenSender.class: It contains attributes of screenshot captured from the client in the
form of byte array. This class is registered on both server and client side in order to
send the instance of this class over the network. he network.

15
3.4 Potential Areas Of Improvements

3.4.1 Limitations
Though we managed to resolve most of the problems we faced, still there are some
challenges we could not get through. Those challenges led to create some of the
limitations of the application. Some of the limitations of the applications are listed
below:

 The keyboard event is limited to single key operation. Combo keys such as Alt
+ Tab, Win + R, Ctrl + Alt + Del etc. are not implemented.
 The cursor type of the server side does not change with the change in cursor
type of client side (e.g. On client side the cursor changes to hand form while
pointing to hyperlinks while in server side the cursor remains as it is i.e.
pointed form).
 The screenshot image sent from the client takes time to load in server side.
 This application doesn’t work in the Internet. It is limited to LAN.
 This application can only make TCP connections.
 There are no security measures implemented against possible hacking and loss
of data.
 There is no facility for multiple clients to connect on single server
simultaneously.
 Client cannot block specific portion of desktop or program for remote access.

3.4.2 Future Enhancements


We have plans to modify this application for more practical and commercial use.
Hence, we have listed some of the points as future enhancements as below:

 Modifying System services.


 Voice and Video Chat.
 Secured Connection
 Password Security.
 Using the application via the Internet.

16
3.5 Specific Requirements
There are some specific requirements to use this application, they are:

3.5.1 Interface Requirement


 Hardware Required:
1. Any PC
2. LAN cable for connecting two PC’s.
 Software Required:
1. J2SE:-JDK 1.6 or Higher.
2. Any Operating system with JRE6 or higher install.
 General Constraints:
1. User must have some knowledge about networking.
2. LAN connection.
3. IP address must be known.

3.5.2 User Interfaces


The screenshot of the project is given below:

Figure 5: Remote Sharing start-up GUI

The start-up GUI of this Remote Sharing application is Remote Login in which
Server can enter only Port number to bind and Client can enter the Server’s
address and the same Port number for further connection.

17
Figure 6: Home window at Server side.

Figure 7: Home window at Client side.

The Home window has three buttons to perform the required task(Chat, File Transfer
& Remote Control).

18
Figure 8: Chat window at Server side.

Two connected users or Client and Server can interact with each other through this
chat window. Server or Client can start the conversation by writing into the text field
and then just press send.

The below screenshot is the chat window at the Client side.

19
Figure 9: Chat window at Client side.

20
Figure 10: File Transfer at Server side.

21
Figure 11: File Transfer at Client side.

Server or Client can upload any File from their respective PC’s and from any
location which can be further transferred or received by Server or Client.

3.6 System Testing


3.6.1 System Test Criteria
The criteria to check if the system is working properly is:

 By the input of the detail asked, the IP address and the Port no. should be
correct.
 It should run or execute in Windows OS.

3.6.2 System Test Result


Since this project involves client and server module, we tested this application on
three different computers. Two of them were running on Windows XP, Windows 7 &
Window 8.1 OS.

22
3.6.3 Functionality Test
Test ID Module Features

1. Login After giving IP address and


Port no., Client will be
connected to Server.
2. Send Message On click on Send, the
particular message will be
sent to the desired Person (to
Client or Server).
3. Receive Message Message sent by sender will
be received by the respective
receiver (Client or Server).

4. Send File On click on Send, the


particular File uploaded
(from any location) from PC
will be sent to the desired
Person (to Client or Server).
5. Receive File File sent by sender will be
received by the respective
receiver (Client or Server)
and saved in any location in
receiver’s PC.

6. View Desktop Server will be able to view


Client’s Desktop

7. Exit Session Client will be able to control


whether Server can view
Desktop (Client) or not.

CONCLUSION

23
Hence, the networking software, Remote Sharing Application is developed to meet the
minimum objective of this project. By practicing or by creating this project we gained
the general concept of Java programming language.

By the end of the project we are able to present an application that will help the user
to:

 View the remote computer.

 This application also helps to interact with the user of remote computer.

 Even allow the user and user of remote computer to share any documents or
file.

REFERENCE

24
 The Complete Reference JAVA, 7th Edition- by Herbert Schildt
 http://en.wikipedia.org/wiki/file
 http://www.stackoverflow.com/questions/11940629/diagram-for-client-server-
communication
 http://stackoverflow.com/questions/11940629/diagram-for-client-server-
communication
 http://www.stackoverflow.com/questions/9872157/file-sharing-code-works-on-
localhost-fails-on-network
 http://www.docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html
 http://www.php.scripts.psu.edu/djh300/cmpsc221/notes-event-handling2.php
 http://www.docs.oracle.com/javase/7/docs/api/java/awt/Button.html
 http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html

25

You might also like