如何使用伺服器
定時器循環、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 時間。
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。
⬅️ 返回
Last updated