我已經在官方Photon服務器論壇上提出這個問題,但它不如本網站活躍,所以可能有人理解我在說什麼,所以請,如果你有時間和知識, 分享它。謝謝!Photon服務器新手問題
這裏來......
所以,我已經有了一個光子服務器和會談到服務器的基本Unity3D客戶的一個很好的工作原型。 它是從cjrgaming的例子構建的。
客戶端可以:連接,發送請求,建立和發送加密的請求 服務器可以:創建同行,收到操作請求,發送操作響應或事件給客戶端,還有,我的小加: 如果遊戲有很多操作,你不必使用巨大的switch case語句,而是將操作劃分爲類(Classes),並使用委託和字典調用它們。
我會發佈一個工作示例,當我覺得它已準備好發佈,但現在,我的實際問題..(對不起,長的職位,我不得不解釋我知道什麼,我有什麼遠):
究竟是從客戶端發送到服務器的操作是什麼? 或服務器向客戶端(所有客戶端?)提出的事件?
起初,我在想每個操作都是遊戲中的特定用戶流程。例如,操作代碼「1」意味着玩家X想要拍攝玩家Y,做一些事情。 但是後來我意識到,你不能把所有的遊戲邏輯都放在255個操作中,按字節限制,而不能將它擴展到short int或其他東西。
然後我發現有一個channelID,它可以在相同的操作代碼請求上有所不同...這對我來說意味着操作代碼不是用戶流,而是具有相同/客戶端和服務器之間的類似操作,以及channelID可用於區分要在服務器上計算的請求操作。
然後...!我意識到(哦虛設箱),即有在字典中,這增加了可能的用戶流的另一層從客戶端發送到服務器,反之亦然參數。
所以..現在我想理解事情,但他們只是更困惑我。
任何人都可以簡要解釋操作/事件/ channelID的目的嗎?例如,如果你做一個小型的多人遊戲,你將用什麼來製作用戶(遊戲)流,例如 - >玩家擊中目標,玩家拿起世界中的物品,玩家發送消息。你會爲每一個流使用唯一的操作代碼,還是按意義對操作進行分組,並使用通道來區分請求,或者甚至在這裏,您爲許多用戶流使用相同的channelID,並通過某些ID內部參數來區分它們?
希望我有任何意義。
非常感謝各位傢伙,至少,時間,如果有任何幫助!