事件處理
處理事件處理程序
ProudNet 的事件處理是基於委託模式。
客戶端繼承並實作Proud.INetClientEvent類,伺服器繼承並實作Proud.INetServerEvent類別。 建立已實作類別的實例後,必須透過伺服器上的 Proud.CNetServer.SetEventSink 和用戶端上的 Proud.CNetClient.SetEventSink 連線它。
如果您使用支援C++11的編譯器,
您可以使用 lambda 表達式而不是繼承上面的類別來進行更簡潔的程式設計。
有關何時透過上述過程接收事件回呼的信息,請參閱了解主循環。
伺服器中可能發生的典型事件包括“收到客戶端的連線”,客戶端中發生的典型事件包括“與伺服器建立連線”和“P2P成員參與”。
對事件進行日誌處理是絕對必要的。
在技術支援過程中,大多數問題的出現都是因為不處理Log而很難找到問題的原因。 特別是,請務必記錄包含 errorInfo 作為參數的函數以及以下事件。
OnError: 由於 ProudNet 內發生錯誤或使用過程中出現問題而回呼訊息。
OnWarning: 回調不嚴重但有潛在問題的資訊。
OnInformation: 回調內部情況、追蹤等資訊。
OnException: 回調內部Exception錯誤訊息。
使用參數errorInfo的errorInfo->ToString();可輕鬆獲得有關問題的信息。
Last updated