2016-09-17 51 views
0

我想调用服务器上的方法并在后台获取一些数据游戏关闭时。我不知道这个任务是否可能。当游戏关闭时如何调用服务器的方法

我使用unityC#语言。

有人告诉我,它没有可能的,但你可以写一个java文件作为库。

有没有解决方法?

+0

游戏如何与服务器进行通信? HTTP?专有协议?个人通话或持续连接? – Havenard

+0

就像get或post方法。 –

+0

在这种情况下,你可以做的是跟踪游戏最后一次与服务器通信的时间,并且让游戏至少每20秒钟对服务器进行一次ping操作,以保持跟踪器的滴答声。所以,如果你检查你的数据库,一个本来应该在线的客户端不会交互超过30秒,你可以继续前进,并将其视为离线。无论如何,我就是这么做的。 – Havenard

回答

0

而它靠近你不能运行一个应用程序,这是没有意义的,并会是一个巨大的安全问题。这意味着我可以创建一个运行的应用程序,即使你不需要它(那会是病毒)。

你可以做的就是让你的服务器来运行基于您发送给它的信息。另一种方式是使用通知,这可能会让用户启动应用程序,然后您可以发送数据。

没有区别,而应用程序是关闭或当应用程序被重新打开,你是否会发送数据。所以我的建议,当应用程序关闭或暂停时,将信息发送到服务器。当应用程序重新打开时,询问服务器并执行应该完成的操作。

0

如果你的意思是从客户端获取服务器上的数据时,客户端断开连接(客户端的游戏关闭)。我并没有完全使用Unity中的网络,但在API和语言中,我会向服务器发送一个断开连接数据包,通常使用常量id',数据包将包含播放器的ID(也可能包含其他内容,例如最后一个矢量位置)。当接收到这个数据包时,我会断开服务器上的客户端。