ProudNet.Eng
WebsiteProud ConsoleLanguage
  • 🌐ProudNet
    • ProudNet Introduction
    • Download and Install
      • How to verify your ProudNet license
      • AMI
    • Project Settings
      • C++
      • C#
      • Mac Xcode
      • Linux
      • Unity3D
        • iOS Build
      • Unreal Engine 4
      • Running the PIDL Compiler
    • Using ProudNet
      • Server and Client
        • Utilization of Server
        • Utilization of Client
      • RMI
        • Utilization of RMI
      • PIDL
        • Utilization of PIDL
      • Event handling
      • Communication messages
      • P2P Communication
        • Using P2P communication
    • Utilization of ProudNet
      • How to use
      • Tips for performance
    • Using DB in ProudNet
      • DB Cache System ver.2
        • DB Cache Theory and Understanding
        • Install DB Cache and Set Up Network
        • DB Cache Server and Client
        • DB Cache usage and application
          • Utilization of DB Cache
      • ADO API
      • ODBC API
    • ProudNet Utility
  • ProudNet Note
    • Technical Notes
      • Main Loop
      • Setting up a server firewall
      • Encryption and decryption
      • What to do in case of an error
      • List of error messages
      • Synchronizing Character Position
      • Client-Server Communication
      • MiniDump (Error Dump System)
      • [Version 1.6] Server-to-Server LAN Communicator
    • Glossary
    • Sample examples
  • 🌐Proud Service
    • Guide for Console
    • ProudChat
      • Download SDK
        • C++
        • C#
        • Unity3D
        • Unreal Engine 4
      • Features in Console
Powered by GitBook
On this page
  • 1. Set up your project
  • C++
  • C#
  • Mac Xcode
  • Linux
  • Unity3D
  • Unreal Engine 4
  • 2. Creating a PIDL file
  • 3. Running the PIDL compiler
  • 4. Starting a server and a client
  1. ProudNet

Project Settings

Last updated 1 year ago

1. Set up your project

Set up projects for each environment.

2. Creating a PIDL file

To use Remote Method Invocation(RMI) in ProudNet, you must first create a file with the PIDL extension.

The PIDL file is the source file that defines the messages that will be sent and received between the hosts. Compiling the PIDL file will create a proxy and a stub, which will be included in the host program.

Do not specify a message first ID value of 60,000 or higher. Values above 60,000 are already specified as message ID values in ProudNet's internal PIDL. Overlapping message IDs will cause an exception in the AttachProxy and AttachStub functions.

The following are the basic usage formats for PIDL files.

global <Namespace> <The first ID value in the message>
{
    ([Declaring attributes]) <Declaring functions> ( [in] Function parameters, ... );
}

Namespace The C++ namespace name of the proxy, stub module that is generated when the PIDL file is compiled. A namespace is essential because ProudNet can use more than one proxy, stub, or stubs at once, but the ambiguity must be resolved with a namespace. For example, if you declare "LobbyC2S", it means "Declare a client -> server call RMI in the game lobby". The first ID value in the message When invoked, each RMI is converted to a network message, which will have an ID value in the message header. It is important to note that it is common to have multiple proxies and stubs for inter-process communication, and they should not have overlapping message ID ranges. Declaring attributes [in] declaration is required. Declaring functions The name of the RMI function. Function parameters It is similar to a C++ function declaration. Parameters are allowed to be declared as follows, but pointer types are not.

int a 
std::vector<int> b
CString c

An example PIDL file is shown below.

rename cs(Proud::String, System.String);

global LobbyC2S 5000  // Message ID starts at 5000
{
    // ID=5001
    Logon([in] Proud::String name,[in] Proud::String password);
    RequestRoomList([in] int pageNumber); // ID=5002
    Chat([in] Proud::String name); // ID=5003
}

Reference

Run the PIDL compiler

Start a server and client to prepare of using ProudNet.

3.

4.

🌐
▪️
▪️
▪️
▪️
▪️
▪️
C++
C#
Mac Xcode
Linux
Unity3D
Unreal Engine 4
Running the PIDL compiler
Starting a server and a client
RMI message scope
RMI