我想构建一个应用程序,它会在位置发生变化时每60秒向后台服务器传输数据(长,纬度,时间戳和SSID)。数据将存储在数据库中,并且在请求的情况下,服务器将响应发送回用户。我想通过使用HttpURLConnection api来实现这一点,我将考虑使用我的服务器处理多个客户端的程序化步骤?多线程?
我感谢任何帮助。
答案 0 :(得分:0)
让我试着解释一下这里的服务器端行为到底是什么,以及客户端和服务器端的期望应该是什么。
客户端 - 你必须在特定的持续时间后发射/获取请求,你可以使用警报管理器(在android中)。这将是客户端的全部。
服务器端---
在ExecutorService
中使用Servlet
进行线程池。
在servlet的构造函数中,用poolsize初始化它,这里你可以根据产品的需要选择缓存池或固定池。
语法将是这样的 -
private ExecutorService exectorService;
构造函数中的-
this.exectorService = Executors.newCachedThreadPool();// Executors.
现在根据你的请求类型.. doGet()或doPost会收到请求..
因此,在上述方法中提取请求的内容,并在成功提取后发送响应成功。
创建一个runnable,它将负责所有查询和过程执行。 并将该runnable添加到线程池。像这样----
processhandler = new ProcessHandler(getServletContext(),targetString);
exectorService.submit(processhandler);
这将是线程池的全部..
现在出现了用于数据库插入和更新的connectionPooling。 我宁愿建议通过HikariCP进行连接池。 它非常有效和快速。
希望这有帮助! 欢呼声