EmmanuelJojy / Remote-File-Management-App

Socket Programming for remote file management.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Server Client Program

Overview

The server client program implements a Flutter Client and Python based server for remote file management. The target cases include creating, deleting, viewing and editing a file. Additionally the user can execute restricted remote commands at the server. The project makes use of Transmission Control Protocol (TCP) sockets for communication.

Server Side Script

Server actions avoid direct native system calls making the server platform independent. Flutter codebase, by default is developed with platform independency making the entire project platform independent

To start server run server.pyc.Alternatively, from /server_script/ execute the following:

python server.py

🚩 All server actions on directory ./reactor/
🔌 Default port is set to :65432.

Server Programming Interface:

Server Action Command Response
Request Path cd Absolute Server Path. (Time out of 500ms)
Create File cf {filename} 1 indicating successful operation else 0
View File vf {filename} {file data} 1 if successful else 0
Delete File df {filename} 1 indicating successful operation else 0
Edit File cf {filename} {data} 1 indicating successful operation else 0
Execute Command rc {command} Execute command on the server. 1 indicating successful operation else 0
Log Out end Closes the active connection.
Shutdown Server shutdown Disconnect and shutdown the server.

Client Side Program

Client side leverages the functionalities of Flutter Framework and Dart combined. The TCP logic is purely built over dart or specifically using Socket class of dart:io library.

✔️ android.permission.INTERNET granted at install for target android devices.
⏳ Default communication timeout set to 500ms.

Sample Project Screenshots

Server Screenshot Server Live with MyDevice connected.

Client Screenshot Client Screenshot Client Screenshot Client Screenshot Client Screenshot
Client Screenshot Client Screenshot Client Screenshot Client Screenshot Client Screenshot

1 Connection Page | 2 Home page (a) | 3 Create file error | 4 Create File | 5 View File Page | 6 Edit File Page | 7 Edit Status Dialog | 8 Home Page (b) | 9 Raw Command Dialog | 10 Connection Page Error

References

Archived Repository

It has been decided the repository be archived after long-time inactivity. The repository will be archived on the July 1st, 2023.


Made with ❤️ by Emmanuel Jojy.

About

Socket Programming for remote file management.

License:MIT License


Languages

Language:Dart 75.4%Language:HTML 12.6%Language:Python 10.1%Language:Swift 1.3%Language:Kotlin 0.4%Language:Objective-C 0.1%