Java 通过wifi进行通信的最有效方式

Java 通过wifi进行通信的最有效方式,java,android,wifi,android-wifi,Java,Android,Wifi,Android Wifi,我想知道通过wifi在android应用程序和计算机上的java软件之间进行通信最有效的方式是什么。 我使用rmi,每10秒发送一次信号,以了解我的设备是否仍连接到我计算机上的rmi服务器 但主要的问题是,使用RMI进行通信并不真正有效,当许多设备试图与计算机通信时,我遇到了一些超时异常,因为我的访问点无法处理所有发送的数据 这就是为什么我试图找到更少的数据消耗来进行通信,并知道设备何时连接到我的应用程序或不连接到我的应用程序。(我可能仍然可以使用RMI进行准时操作,但每10秒发送一个RMI数据

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

但主要的问题是,使用RMI进行通信并不真正有效,当许多设备试图与计算机通信时,我遇到了一些超时异常,因为我的访问点无法处理所有发送的数据

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


谢谢。

直接插座连接。当然,您需要在那里提出某种应用程序级协议,因为否则您只是将字节从一个地方发送到另一个地方


例如,您可以让第一个字节指示消息的类型,第二个字节(或短字节)指示有效负载的大小。然后,您可以将最多256(或65536)字节的消息发送到服务器,并执行您想要的操作。

这就是我的想法,但如果我的字节发送工作正常,我是否可以确保rmi通信可用。我的意思是,你是否认为我的字节可以通过rmi工作和通信?嗯,rmi是特定于Java的,在我看来有点过时。它本质上是Java自己的RPC实现,因此如果您的服务器更改为非Java实现,您将遇到麻烦。我完全按照前面所说的做了,它工作得更好,但我仍然存在一些连接问题。我将套接字超时设置为1000ms,并且有一些套接字超时异常,您认为这正常吗?增加套接字超时将是一个答案?是的,将套接字超时设置为30秒,甚至完全删除它。@Substitut,你也能帮我吗?我这里也有类似的情况: