Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giovaneiwamoto/database-rpc
💼 Database RPC - Allow users to perform basic operations on a remote system by making remote procedure calls for efficient data handling.
https://github.com/giovaneiwamoto/database-rpc
database rpc stubs
Last synced: 24 days ago
JSON representation
💼 Database RPC - Allow users to perform basic operations on a remote system by making remote procedure calls for efficient data handling.
- Host: GitHub
- URL: https://github.com/giovaneiwamoto/database-rpc
- Owner: GiovaneIwamoto
- License: mit
- Created: 2024-04-28T22:18:34.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-07-28T02:25:57.000Z (6 months ago)
- Last Synced: 2024-11-11T19:14:03.797Z (3 months ago)
- Topics: database, rpc, stubs
- Language: C
- Homepage:
- Size: 12.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DATABASE RPC
### **OVERVIEW**
This program is designed to interact with a remote database by making _remote procedure calls_ - _RPCs_. The client program facilitates user interaction and invokes functions on the remote database server. The _RPC_ client program allows users to perform basic operations on a remote database. The functionality includes:
[![Icons](https://skillicons.dev/icons?i=c,powershell,vscode&theme=dark)](https://skillicons.dev)
> [!IMPORTANT]
> For the proper functioning of the RPC client program, it is crucial for users to correctly install and configure the Portmap service. Portmap, also known as rpcbind, is a server that converts RPC program numbers into DARPA protocol port numbers. When an RPC service is initiated, it registers with the Portmap, which assigns it a port number and makes it accessible to remote clients. Without the Portmap service, RPC calls would fail to locate the appropriate service port, rendering the client-server communication impossible.- **Initialization**: Initializes the connection with the remote server
- **Insertion**: Users can insert a word into the remote database
- **Search**: Users can search for a word in the remote database
- **Removal**: Users can remove a word from the remote database
---
### **INSTALLATION GUIDE**
```ruby
RPC generator:
$ rpcgen rbd.x
``````ruby
Compile server and client:$ gcc -o rbd_server rbd_sif.c rbd_svc.c rbd_srp.c rbd_xdr.c -I/usr/include/tirpc -ltirpc
$ gcc -o rbd_client rbd_clnt.c rbd_client.c rbd_xdr.c -I/usr/include/tirpc -ltirpc
$ gcc -o rbd_client rbd_cif.c rbd_clnt.c rbd_client.c rbd_xdr.c -I/usr/include/tirpc -ltirpc -fcommon
```> [!WARNING]
> Users must ensure that the necessary ports are available and not in use by other applications. RPC communication relies on specific port numbers to establish connections between the client and server. If these ports are occupied or blocked by firewalls, the RPC client will be unable to communicate with the remote database server, leading to failed operations.```ruby
Portmap error init service:
$ service portmap startInstall Portmap:
$ sudo apt install portmapLinux and Debian-based distros use Rpcbind:
$ sudo systemctl start rpcbind
```---
### **AUTHOR**
- Giovane Hashinokuti Iwamoto - Computer Science student at UFMS - Brazil - MS
I am always open to receiving constructive criticism and suggestions for improvement in my developed code. I believe that feedback is an essential part of the learning and growth process, and I am eager to learn from others and make my code the best it can be. Whether it's a minor tweak or a major overhaul, I am willing to consider all suggestions and implement the changes that will benefit my code and its users.