Remote Procedure Call (RPC) – Part 2: Pengiriman Data via RPC Parameter

Setelah pada artikel sebelumnya dibahas terkait dasar komunikasi dan akses 2 server dengan RPC, pada artikel ini akan di bahas terkait cara pengiriman data RPC melalui parameter.

1. Buat file access-with-param-server.py dan berikan kode berikut:

import datetime
from xmlrpc.server import SimpleXMLRPCServer

# layanan dari server
def hitungKali(angka1, angka2):
	hasil = angka1 * angka2
	return hasil

# inisialasi connection: use port 8080, 
# if confilct use another port, like 8000
server = SimpleXMLRPCServer(("localhost", 8097))

# jika server jalan maka tampilkan di layar
print("Server is listening on port 8097...")

# daftar function yang bisa di eksekusi oleh client
server.register_function(hitungKali, "hitungKali")

# selama apa server melayani
server.serve_forever()

2. Buat file access-with-param-client.py dan berikan kode berikut:

import xmlrpc.client

# use port 8080, if confilct use another port, likke 8000
proxy = xmlrpc.client.ServerProxy("http://localhost:8097/")

# function dalam server yang ingin di eksekusi
hasil = proxy.hitungKali(2, 10)

# hasil eksekusi function server di tampilkan di client
print("Hasil: %s" %hasil)

3. Upload access-with-param-server.py pada VM1 dan access-with-param-client.py pada VM2

4. Sesuaikan IP server code pada VM-1

5. Sesuaikan code IP pada VM-2, arahkan ke IP VM-1

6. Eksekusi access-with-param-server.py pada VM-1

7. Eksekusi access-with-param-client.py pada VM-2

Terlihat bahwa hasil yang dikirim dari RPC-server adalah 20. Proses pehitungan dilakukan pada server-1 dengan parameter angka yang dikirim dari server-2.