ProudNet.Cn
WebsiteProud ConsoleLanguage
  • 🌐ProudNet
    • ProudNet 簡介
    • 下載並安裝
      • ProudNet授權認證方法
      • AMI
    • 項目設定
      • C++
      • C#
      • Mac Xcode
      • Linux
      • Unity3D
        • iOS 建置
      • Unreal Engine 4
      • 運行 PIDL 編譯器
    • 使用 ProudNet
      • 伺服器和客戶端
        • 如何使用伺服器
        • 如何使用客戶端
      • RMI
        • 如何使用RMI
      • PIDL
        • 如何使用PIDL
      • 事件處理
      • 通訊訊息
      • P2P 通訊
        • 如何使用P2P通訊
    • 活用 ProudNet
      • 如何使用它
      • 性能小貼士
    • 在 ProudNet 中使用 DB
      • DB Cache System ver.2
        • DB Cache 理論和理解
        • DB Cache 安裝和網絡設置
        • DB Cache 伺服器和用戶端
        • DB Cache 使用與活用
          • DB Cache 活用法
      • ADO API
      • ODBC API
    • ProudNet 實用程式
  • ProudNet note
    • 技術說明
      • 對主循環的理解
      • 配置服務器防火牆
      • 加密和解密
      • 發生錯誤時的應對事項
      • 錯誤信息列表
      • 同步角色位置
      • 客戶端與服務器通信
      • MiniDump (Error Dump System)
      • [1.6 版本] 服務器間 LAN 通訊器
    • 詞彙表
    • Sample 例題
  • 🌐ProudChat
    • 介紹及使用指南
    • 下載 SDK
      • C++
      • C#
      • Unity3D
      • Unreal Engine 4
Powered by GitBook
On this page
  • 1. 設定項目
  • C++
  • C#
  • Mac Xcode
  • Linux
  • Unity3D
  • Unreal Engine 4
  • 2. 寫入 PIDL 文件
  • 3. 運行 PIDL 編譯器
  • 4. 伺服器和客戶端入門
  1. ProudNet

項目設定

Last updated 1 year ago

1. 設定項目

根據每個環境設定項目。

2. 寫入 PIDL 文件

若要將Remote Method Invocation(RMI) 與 ProudNet 結合使用,您必須先建立一個副檔名為 PIDL 的檔案。

PIDL檔案是定義主機之間交換訊息的來源文件,編譯PIDL檔案時,會建立代理程式和存根,並將它們包含在主機程式中。

不要指定高於 60,000 的訊息第一個 ID 值。 超過 60,000 的值已在 ProudNet 的內部 PIDL 中指定為訊息 ID 值。 如果訊息ID重疊,AttachProxy和AttachStub函數就會出現異常。

PIDL檔案的基本使用格式如下:

global <名稱空間> <訊息的第一個ID值>
{
    ([屬性聲明]) <函數聲明> ( [in] 功能參數, ... );
}

名稱空間 這是編譯 PIDL 檔案時所建立的代理程式和存根模組的 C++ 命名空間名稱。 ProudNet 可以同時使用兩個或多個代理程式和存根,但相反,必須使用命名空間來解決歧義,因此命名空間至關重要。 例如,聲明“LobbyC2S”意味著“在遊戲大廳中聲明客戶端->伺服器調用 RMI”。 訊息的第一個ID值 當呼叫 RMI 時,每個 RMI 都會轉換為網路訊息,該訊息的訊息頭中有一個 ID 值。 需要注意的一點是,用於進程間通訊的多個代理程式和存根的訊息 ID 範圍不能重疊。 屬性聲明 [in] 必須作出聲明。 函數聲明

RMI 函數名稱。 功能參數 類似於C++函數聲明。 允許如下所示的參數聲明,但不允許使用指標類型。

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

PIDL 檔案範例如下:

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

global LobbyC2S 5000  // 訊息ID從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
}

參考

運行 PIDL 編譯器。

啟動伺服器和客戶端並準備好使用ProudNet。

3.

4.

🌐
▪️
▪️
▪️
▪️
▪️
▪️
C++
C#
Mac Xcode
Linux
Unity3D
Unreal Engine 4
運行 PIDL 編譯器
RMI 訊息範圍
伺服器和客戶端入門
RMI