Coder Social home page Coder Social logo

04xraynal / remotedesktopmanager_javarmi_--control_wiz-- Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 605 KB

A Java Application made on Java Swing using RMI (Remote Method Invocation) to Connect two Machines via the network , one being the Server and the other being the Client.

License: MIT License

Java 100.00%
rmi java-swing java-rmi remote-control remote-desktop java gui swing remote-manager desktop-control

remotedesktopmanager_javarmi_--control_wiz--'s Introduction

Remote Desktop Manager using RMI --Control Wiz--


A Java Application made on Java Swing using RMI (Remote Method Invocation) to Connect two Machines via the network , one being the Server and the other being the Client.

Both Machines can be connected locally via the intraNet and also via the Internet if not connected locally on the same network.

Project Demo: Remote Desktop Manager --ControlWiz--


The Client can control operation on the Server Machine, this is achieved through the Robot Class.


Following the RMI Syntax, these are the Classes created:

ScreenEvent.java

A Remote Interface.
This interface, extends the Remote interface and declares the RemoteException for all the methods of the interface.


ScreenEventImpl.java

This class provides the implementation of the Remote Interface.
To provide implementation of the remote interface we extend the UnicastRemoteObject class, and define a constructor that declares the Remote Exception.
Here we provide the implementation of the interface methods,

Methods are:

Check the password entered by the Client Machine and match it with the password of the Server Machine;
Capture the Server Screen as an Image and convert it into a Byte Array;
Return the Dimension(Width and Height) of the Server Machine' Screen;
Provide implementation for the Robot class methods which send inputs such as (Mouse Movement, Mouse Action and Keyboard Action) from the Client Machine to the Server Machine.


DesktopServer.java

Server class to run on the Server Machine.
Prompts the user to Set up a Password for Remote Connection via a Swing GUI.

Also displays the IP Address of your Machine (private IP for intraNet and public/router IP for Internet) which the Client needs to input in order to establish connection.

After the Password is entered the Naming class method gets and stores the remote object and binds it with your IP (private IP Address) with the port (1888) and a name (burr).

Capture_RemoteDesktopManager_ServerPassword.PNG


DesktopClient.java

Client class to run on the Client Machine.

A Swing GUI is displayed to input the Server IP Address and Password.
The password should be similar to what the Server entered while creating Connection.
For IP Address, input private IP for intraNet Connection and public/ Router IP for Internet Connection.

If the eneterd password matches to the Server' password, Naming class gets the stub object via the lookup() method.

The stub object is then used to get the Server' screen onto the Client Machine and enable the Client to perform actions on the Screen Remotely.

Capture_RemoteDesktopManager_ClientConnection.PNG

Capture_RemoteDesktopManager_RemoteScreen.PNG


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.