This page has been translated automatically.
UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Materials
Unigine Material Library
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

rpc_00

This article describes the data/samples/syncker/rpc_00.cpp sample.

The rpc_00 sample demonstrates how to:

  • Call a remote procedure on all slaves from the world script running on the master side.
  • Operate with a value received from the remote procedure.

Notice
You need to open the console on the master and slave computers to see the sample output. Press the grave accent (`) key placed under the ESC key to call the console.

Remote procedure call (RPC) is initiated by the master, which tells the slaves to execute the specified procedure. The remote procedure call usually requires when some event (e.g. calculation) occurs on the master and you need to tell the slaves what to render according to this event.

The remote procedure is defined in the world script running on the slave side. It prints the received value in the console and returns the hello from slave string.

Source code (UnigineScript)
int rpc_function(int value) {
	log.message("Argument from master: %s\n",typeinfo(value));
	return "hello from slave";
}				
				

In the master world script, the hello from master string is passed to the procedure.

Source code (UnigineScript)
Unigine::Syncker::Master::worldCall(~0,"rpc_function",("hello from master"),ret);
				
So, on all of the slaves the following message is printed in the console:
Source code
Argument from master: string: "hello from master"
				
The value received from the remote procedure appears in the console on the master side as follows:
Source code
Result from "xxx.xxx.xxx.xxx": string: "hello from slave"
				

See Also

Last update: 2017-07-03
Build: ()