Each declaration of RMI function has one message type. In ProudNet, you need to decide a message type within the range of 1,300 and 60,000. This range can be set when you create a .pidl file.
Here is the example for message type value of RMI
global SampleRMI 5000 { Foo1(...); // Assigned Message Type ID = 5001 Foo2(...); // Assigned Message Type ID = 5002 Foo3(...); // Assigned Message Type ID = 5003 }
The message type value is incremented by one at each function. And let's say the range is whatever value assigned to the last declared RMI function. Therefore, the message range for the above sampleRMI is 5000 ~ 5003.
When you attach the created Proxy and Stub to Proud.CNetClient, Proud.CNetServer, Proud.CLanClient, and Proud.CLanServer, the message range of each RMI function group gets reserved to Proud.CNetClient, Proud.CNetServer, Proud.CLanClient, and Proud.CLanServer. If any message range of proxy or stub overlaps as attaching them, AttachProxy() or AttachStub() may throw exception.