Remote Sharing Application
Remote Sharing Application
Remote Sharing Application
Report on
REMOTE SHARING
RAVIKA JAIN ()
INDEX
10
ACKNOWLEDGEMENT
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
2
Business Requirement Document
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.
4
2.1.2 System Objectives
Remote Sharing Application includes the following objectives:
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.1 Needs
LAN cable.
Two PC’s.
2.2.2 Features
This project contains following essential features:
2. User friendly This project is user friendly and does not create any problem to
GUI. users.
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.
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.
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
Operational feasibility
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
9
S. No. Acronym Explanation
3.1.3 References
Sources of information is referenced in this SRS.
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
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
<<extend>>
<<extend>> Client
Send File
Receive File
Remote Control
<<extend>>
<<extend>>
13
It can provide a plan from which products can be procured, and systems
developed, that will work together to implement the overall system.
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.
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.
16
3.5 Specific Requirements
There are some specific requirements to use this application, they are:
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.
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.
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.
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.
22
3.6.3 Functionality Test
Test ID Module Features
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:
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