java - 当 Activity 发生变化时,如何保持与服务器的 TCP 连接?

标签 java android service tcp tcpclient

我有点绝望了。我正在开发一个应该可视化污染数据的应用程序。应用程序通过 WiFi direct 连接到传感器,传感器是组主机。然后我应该连接到端口 5001 并每 2 分钟检索一次数据。该数据应该发送到谷歌地图 Activity ,在那里它将在信息窗口中可视化。

此时我只能创建一个立即关闭的 TCP 连接,我按照这个 Really simple TCP client .

所以我需要建立一个不会关闭并且在我进行其他 Activity 时也运行的 TCP 连接。我不需要发送任何消息,只需检索数据。

我调查了这个How to keep the android client connected to the server even on activity changes and send data to server?但不明白我如何为我的案例实现该代码。

你是如何做到这一点的?感谢任何帮助。

最佳答案

你的android应用程序是一个客户端,每次你需要获取数据时,你都可以向服务器请求。

如果服务器工作在阻塞模式,您可以向服务器发送请求,服务器通过打开的连接发送响应

以下是使用 Socket 进行客户端/服务器连接的一些示例:

https://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/

https://github.com/codepath/android_guides/wiki/Sending-and-Receiving-Data-with-Sockets

您可以找到更多示例

At this moment I have only been able to create a TCP connection that closes down immediately

这取决于您的服务器设计,客户端应用程序会将请求发送到服务器,如果服务器发回响应,您就可以获得它,但如果服务器没有发送响应,您的连接将被关闭

So I need to establish a TCP connection that does not close and also runs when I am in other activities. I do not need to send any messages, only retrieve data

请参阅上面的链接,无需创建不关闭的连接,您应该在每次需要时发送请求并从服务器获取响应

关于java - 当 Activity 发生变化时,如何保持与服务器的 TCP 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43298107/

相关文章:

java - 如何将 Maven zip 依赖项放在类路径上以进行 Java 测试

java - Android TCP - 应用程序关闭时套接字不会断开连接

java - 使用 Jersey 客户端时出现错误

templates - 撰写文件Docker中的模板语法

java - Google App Engine - JDO - 如何更新集合?

java - Java Swing 的多重问题

java - 在Dockerfile中编写Java时如何在容器中安装Java?

android - Google 登录后端服务器身份验证

android - 在 Android 中效果最好的模拟库/框架?