diff --git a/demo/demo-client.tsl b/demo/demo-client.tsl new file mode 100644 index 0000000..7a5e944 --- /dev/null +++ b/demo/demo-client.tsl @@ -0,0 +1,15 @@ + +//login 远程rpc_server +[err, h] := rpc_login("127.0.0.1:1234", "test", "password-token"); +if err then + return echo "login fail:", err; + +for i:=0 to 99 do Begin + echo "remote call demo_function1: ", i, "\n"; + rpc_exec(h, 30*1000, "demo_function1", "hello: " $ datetimetostr(now()));//远程执行模型 +End; + +for i:=0 to 99 do Begin + echo "remote call demo_function2: ", i, "\n"; + rpc_exec(h, 30*1000, "demo_function2", "world: " $ datetimetostr(now()));//远程执行模型 +End; \ No newline at end of file diff --git a/demo/demo-server.tsl b/demo/demo-server.tsl new file mode 100644 index 0000000..509708e --- /dev/null +++ b/demo/demo-server.tsl @@ -0,0 +1,5 @@ +rpc_register_func("demo_function1", "demo_function2");//注册server端函数列表 + +echo "Listen: 1234\n"; + +rpc_server("0.0.0.0:1234", 5, "password-token");//启动rpc_server服务,等待进程结束 \ No newline at end of file diff --git a/demo/readme b/demo/readme new file mode 100644 index 0000000..24c9898 --- /dev/null +++ b/demo/readme @@ -0,0 +1,21 @@ +rpc API: + +1、rpc_server 启动rpc服务 + rpc_server(host, threads-pool-count, password-token [,callbackfunc], [isjoin]); + eg: rpc_server('0.0.0.0:1234', 5,, "password"); + +2、rpc_login clinet端登录rpc-server + [err, handle] := rpc_login(host, uid, pwssword); + err=0, 登录成功,返回登录句柄; + err非0,登录失败。 + +3、rpc_logout 登出 + rpc_logout(handle); + +4、rpc_exec 远程执行server端模型 + [err, result] := rpc_server(handle, timeout, function_name, argv1, argv2...); + err=0,执行成功,result为执行结果; + err非0,执行失败,result为错误原因。 + +5、rpc_register_func server端注册服务函数列表 + rpc_register_func(func1, func2, func3...); \ No newline at end of file