2014-02-07 47 views
0

我想知道什么是通过wifi在计算机上通过android应用程序和java软件进行通信的最有效方式。 我使用rmi每10秒发送一次信号来知道我的设备是否仍连接到我的电脑上的rmi服务器。通过wifi进行通信的最有效方式

但是,主要的问题是使用RMI进行通信并不是真的有效,当许多设备尝试与计算机通信时,由于我的接入点无法处理所有数据发送,所以我收到了一些超时异常。

这就是为什么我试图找到更少的数据消耗来沟通和知道设备连接或不连接到我的应用程序。 (我大概仍然可以使用RMI进行准时动作,但每10秒发送一个RMI数据包可能不是最好的方式)

谢谢。

回答

1

直接Socket连接。当然,你需要在那里想出一些应用程序级别的协议,否则你只是将字节从一个地方发送到另一个地方。

例如,您可以让第一个字节指示消息的类型,第二个字节(或短的)是有效负载的大小。然后你可以发送多达256(或65536)字节的消息给服务器,并且几乎可以做你想做的事情。

+0

这就是我的想法,但我可以确定,如果我的字节发送工作,rmi通信将可用。我的意思是,你是否有一些情况下我的字节可以工作,并通过rmi进行沟通? – Substitut

+0

那么,RMI是Java特有的,在我看来有点过时了。它本质上是Java自己的RPC实现,所以如果你的服务器变成非java实现,你将会遇到麻烦。 – Kayaman

+0

我的确如我们之前所说的那样工作得更好,但我仍然有一些连接问题。我将套接字超时设置为1000毫秒,并有一些套接字超时异常,你认为这是正常的吗?增加套接字超时将是一个答案? – Substitut

相关问题