The Server App is a part of the client-server system designed for receiving and processing data sent from client apps using different Inter-Process Communication (IPC) methods: AIDL (Android Interface Definition Language), Messenger, and Broadcast. The app acts as the server, communicating with client app and handling data transfer and processing.
-
Foreground Service: The server app uses foreground services to ensure continuous operation and responsiveness even when running in the background.
-
AIDL Communication: The server app implements AIDL-based IPC to securely and efficiently communicate with the client apps that use AIDL.
-
Messenger Communication: The app supports message-based communication through the Messenger IPC method to interact with client apps using Messenger.
-
Broadcast Communication: The server app listens for broadcast messages from client apps, enabling data exchange using the Broadcast IPC method.
-
Data Processing: Received data from client apps is processed and stored as required by the server application logic.
-
Real-time Monitoring: The server app provides real-time monitoring of connected client apps, data transfers, and server status.
The Server App can be deployed on a device or emulator running Android 8.0 or above.
- Clone the repository from GitHub:
git https://github.com/atakanakin/ServerApp.git
cd ServerApp
-
Open the project in Android Studio.
-
Build the project and install it on your Android device or emulator.
-
Check README.txt inside the jsonFiles directory.
-
Launch the Server App on your device or emulator.
-
The server app is now ready to receive data from client apps using AIDL, Messenger, or Broadcast.
-
As client apps connect to the server, their status will be displayed in the monitoring section.
-
Received data from client apps will be processed and monitored on the server application.
-
Use the monitoring information to ensure smooth data transfer and server operation.
The Server App relies on the following libraries and components:
-
AndroidX: AndroidX support libraries for compatibility across different Android versions.
-
AIDL: Android Interface Definition Language for AIDL-based IPC.
-
BroadcastReceiver: Broadcast mechanism for IPC.
-
Messenger: Messenger for message-based communication between components.
Contributions to the Server App are welcome! If you encounter any bugs, want to add new features, or improve existing ones, please follow the guidelines below:
-
Fork the repository.
-
Create a new branch for your changes:
git checkout -b feature/your-feature-name
-
Make your changes and test thoroughly.
-
Commit your changes:
git commit -m "Add your commit message here"
- Push the changes to your forked repository:
git push origin feature/your-feature-name
- Create a pull request against the
main
branch of this repository.
This project is licensed under the MIT License.
For any questions or inquiries, feel free to reach out to me at [email protected].
Special thanks to Perihan Mirkelam for their inspiring article on IPC techniques for Android.
Thank you for using the Server App!