Skip to content

クライアントがサーバーに定義されている関数を実行する、RPCプログラムです。

Notifications You must be signed in to change notification settings

fate7bardiche/remote-procedure-call

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

remote-procedure-call

クライアントがサーバーに定義されている関数を実行する、RPCプログラムです。

使用技術

Static Badge: 3.10.12
Static Badge: v23.6.0
Static Badge:Ubuntu 22.04

目次

概要

クライアントが関数名と引数を指定すると、サーバー側で該当する関数を実行し、レスポンスを返します。
クライアントは、コマンドラインで関数を選択、引数を入力します。
サーバーは、複数のクライアントと同時に接続することができます。
エラーが起きた場合は、エラー用のレスポンスが返されます。

環境構築

clone

$ git clone [email protected]:fate7bardiche/remote-procedure-call.git
$ cd remote-procedure-call

パッケージのインストール

$ pwd
> remote-procedure-call/client
$ npm install

実行

サーバー側とクライアント側は、別のタブで実行してください。
先にサーバー側から実行します。

## サーバー側
$ pwd
> remote-procedure-call/server
$ python3 main.py
## クライアント側
$ pwd
> remote-procedure-call/client/src/dst
$ node main.js

(任意): TypeScriptファイルを編集した場合のコンパイル方法

もう1つタブを開きます。

$ pwd
> remote-procedure-call/client

以下のいずれかを実行してください。

  • 自動でコンパイルされるようにしたい場合
npm run watch

このタブを開いたままにすれば、tsファイルに変更があったときに自動でコンパイルします。

  • 手動でコンパイルする場合
npx tsc

使い方

サーバー側のタブ内を操作することはありません。
クライアント側のタブから、指示に従って入力します。

実行したい関数を選択

キーボードの数字か矢印キーを使用して、関数を選択します。
下部に関数の説明が表示されます。
スクリーンショット 2025-02-11 17 36 03

引数を入力

関数の説明に記載されていた通りの型を満たすような引数を入力してください。  

  • 引数が複数ある場合、第一引数から1つずつ入力します。
    スクリーンショット 2025-02-11 17 40 12

  • 引数の構文にエラーがある場合は、リクエストを投げる前にエラーを返します。   スクリーンショット 2025-02-11 18 12 02

実行後

引数が入力し終わるとリクエストを投げます。

  • 正しく実行できれば、結果が返されます。
    スクリーンショット 2025-02-11 17 41 43

  • 正しく実行できなかった場合は、エラーが返されます。
    スクリーンショット 2025-02-11 17 48 58

使用中の画面キャプチャ

関数の使用例

float関数の使い方

2025-02-11.18.20.19.mov

sort関数の使い方

2025-02-11.18.33.57.mov

複数クライアントとの接続

2025-02-13.19.37.15.mov

About

クライアントがサーバーに定義されている関数を実行する、RPCプログラムです。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published