2016-09-17 68 views
0

我想調用服務器上的方法並在後臺獲取一些數據遊戲關閉時。我不知道這個任務是否可能。當遊戲關閉時如何調用服務器的方法

我使用unityC#語言。

有人告訴我,它沒有可能的,但你可以寫一個java文件作爲庫。

有沒有解決方法?

+0

遊戲如何與服務器進行通信? HTTP?專有協議?個人通話或持續連接? – Havenard

+0

就像get或post方法。 –

+0

在這種情況下,你可以做的是跟蹤遊戲最後一次與服務器通信的時間,並且讓遊戲至少每20秒鐘對服務器進行一次ping操作,以保持跟蹤器的滴答聲。所以,如果你檢查你的數據庫,一個本來應該在線的客戶端不會交互超過30秒,你可以繼續前進,並將其視爲離線。無論如何,我就是這麼做的。 – Havenard

回答

0

而它靠近你不能運行一個應用程序,這是沒有意義的,並會是一個巨大的安全問題。這意味着我可以創建一個運行的應用程序,即使你不需要它(那會是病毒)。

你可以做的就是讓你的服務器來運行基於您發送給它的信息。另一種方式是使用通知,這可能會讓用戶啓動應用程序,然後您可以發送數據。

沒有區別,而應用程序是關閉或當應用程序被重新打開,你是否會發送數據。所以我的建議,當應用程序關閉或暫停時,將信息發送到服務器。當應用程序重新打開時,詢問服務器並執行應該完成的操作。

0

如果你的意思是從客戶端獲取服務器上的數據時,客戶端斷開連接(客戶端的遊戲關閉)。我並沒有完全使用Unity中的網絡,但在API和語言中,我會向服務器發送一個斷開連接數據包,通常使用常量id',數據包將包含播放器的ID(也可能包含其他內容,例如最後一個矢量位置)。當接收到這個數據包時,我會斷開服務器上的客戶端。

相關問題