Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过套接字发送数据的更好方法_Java_Android_Json_Xml_Sockets - Fatal编程技术网

Java 通过套接字发送数据的更好方法

Java 通过套接字发送数据的更好方法,java,android,json,xml,sockets,Java,Android,Json,Xml,Sockets,我有一个android应用程序,它每4秒向服务器发送一次位置,然后服务器将所有位置从客户端发送到每个客户端。对于服务器代码,我使用java。我创建的对象位置有四个变量(用户名、时间、纬度、经度)。我在每次更新时都会将此对象发送到服务器,然后在服务器上将其保存到数据库中 每5秒钟,我将所有位置从服务器发送到每个客户端。对于每个用户,我创建对象位置和所有对象,然后通过套接字将ArrayList发送到客户端。我的问题是,这是否是最好的方法,或者若服务器上的数据被写入json或xml,而不是发送到客户端

我有一个android应用程序,它每4秒向服务器发送一次位置,然后服务器将所有位置从客户端发送到每个客户端。对于服务器代码,我使用java。我创建的对象位置有四个变量(用户名、时间、纬度、经度)。我在每次更新时都会将此对象发送到服务器,然后在服务器上将其保存到数据库中

每5秒钟,我将所有位置从服务器发送到每个客户端。对于每个用户,我创建对象位置和所有对象,然后通过套接字将ArrayList发送到客户端。我的问题是,这是否是最好的方法,或者若服务器上的数据被写入json或xml,而不是发送到客户端,那个么速度会更快

  • JSON比XML好,因为它占用的空间更小,所以可以进行传输 速度更快
  • 定期使用WebSocket进行双工连接

  • 别这样。没有必要每4秒发送一次。GPS每分钟只更新一次。最多每30秒一次。你在浪费带宽和电池电量。如果gps打开并且android设备正在移动,我会每秒更新位置。不,你不会。手机中的消费类硬件更新速度没有那么快。您可能有一个服务提供商这么快就给您打电话(尽管如果是这样,那可能是一个bug)但你并没有那么快获得新的价值。老实说,即使你做到了,你的应用程序所做的任何事情都不值得客户端在带宽和电池电量方面如此频繁地更新你的服务器。那么,如果你每分钟都能得到更新,那么当你在谷歌地图上移动时,你怎么能“实时”看到你的位置呢?我认为你错了。