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
  • 定時器循環、RMI、事件處理
  • 獲取各種資訊
  • 伺服器之間通信
  • 返回
  1. ProudNet
  2. 使用 ProudNet
  3. 伺服器和客戶端

如何使用伺服器

Last updated 1 year ago

定時器循環、RMI、事件處理

您不必在伺服器上每小時呼叫它,但如果您想定期執行某些操作,則需要指定計時器回呼函數、回呼週期以及啟動時傳遞給回呼函數的自訂資料伺服器。

以下是指定它們的位置。

語言
定時器回呼函數
回呼週期
自訂數據

C++

Proud.INetServerEvent.OnTimerCallback

Proud.CStartServerParameter.m_timerCallbackInterval

Proud.CStartServerParameter.m_timerCallbackContext

C#

Nettention.Proud.NetServer.TickDelegate

Nettention.Proud.StartServerParameter.timerCallbackIntervalMs

-

參考

獲取各種資訊

從 Server 中,您可以檢索各種訊息,例如客戶端清單、P2P 群組資訊、客戶端 IP 資訊和 ping 時間。

C++ 函數
C# 函數
註釋

Proud.CNetServer.GetClientCount

Nettention.Proud.NativeNetServer.GetClientCount

獲取連線的客戶端數量。

Proud.CNetServer.GetClientHostIDs

Nettention.Proud.NetServer.GetClientHostIDs

取得已連線客戶端的 HostID 清單。

Proud.CNetServer.GetClientInfo

Nettention.Proud.NetServer.GetClientInfo

使用作為參數給出的 HostID 來獲取有關客戶端的信息。

Proud.CNetServer.GetJoinedP2PGroups

-

取得以參數形式給出的 HostID 的客戶端所屬的所有 p2p 群組。

Proud.CNetServer.GetLastUnreliablePingMs

Nettention.Proud.NetServer.GetLastUnreliablePingMs

傳回最近的 ping 時間(以毫秒為單位)。

Proud.CNetServer.GetP2PGroupInfo

Nettention.Proud.NetServer.GetP2PGroupInfo

檢索有關作為參數給出的 p2p 組的資訊。

Proud.CNetServer.GetP2PGroups

-

取得所有 p2p 組。

Proud.CNetServer.GetRecentUnreliablePingMs

Nettention.Proud.NetServer.GetRecentUnreliablePingMs

傳回最近的 ping 時間(以毫秒為單位)。

Proud.CNetServer.GetRemoteIdentifiableLocalAddrs

-

取得客戶端可以識別的伺服器的監聽連接埠位址。

Proud.CNetServer.GetStats

Nettention.Proud.NetServer.GetStats

取得伺服器狀態資訊。

Proud.CNetServer.GetTcpListenerLocalAddr

Nettention.Proud.NetServer.GetTcpListenerLocalAddr

取得可用於 TCP 通訊的所有本機位址。

Proud.CNetServer.GetTimeMs

Nettention.Proud.NetServer.GetTimeMs

取得目前伺服器時間(以毫秒為單位)。

Proud.CNetServer.GetUdpListenerLocalAddrs

-

取得可用於 UDP 通訊的所有本機位址。

Proud.CNetServer.IsConnectedClient

Nettention.Proud.NativeNetServer.IsConnectedClient

傳回以參數形式給出的 HostID 的客戶端是否已連線。

伺服器之間通信

當伺服器以相互分工的方式運作時,需要建立連線以在各個伺服器之間進行通訊。 此時,您可以使用P2P群組輕鬆設定伺服器之間的通訊。

  • 留下一台Farm server。 伺服器電腦所在的 LAN 群組稱為server farm。

  • 所有其他伺服器在連接到場伺服器的Farm Client端之間執行 P2P 通訊。

每個場客戶端或伺服器進程都可以直接相互通信,無論它是伺服器還是客戶端。 隨機形式的網狀通訊是可能的,並且可以建立它們之間的自由依賴關係。

伺服器間通訊建議使用net_main,同時也要考慮通訊的message_length。

參考


🌐
伺服器場 - 維基
⬅️
返回
從伺服器接收和回呼事件
從伺服器回呼定時器