【问题标题】:Send data from the server to a GPS device将数据从服务器发送到 GPS 设备
【发布时间】:2011-12-23 22:48:44
【问题描述】:

这是我在这里的第一个问题,在搜索和阅读了很多地方之后,我不得不问。 我有一个 C# 应用程序,它从 GPS 设备接收数据并存储在数据库中,我现在需要发送一个字符串,其中包含设备应解释的命令。 此设备通过 GPRS 连接到 Internet,我不知道如何通过 GPRS 通过 TCP 发送此数据包,因为 IP 是动态的。

我希望对如何解决这个问题有任何建议或想法。

最好的问候。

【问题讨论】:

    标签: c# gps gprs


    【解决方案1】:

    您应该以相反的方式执行此操作 - 设备应轮询服务器以获取指令。只要确保服务器是可访问的。

    【讨论】:

      【解决方案2】:

      正如您所指定的,您已经开发了一个 C# 应用程序来通过 GPRS 读取 GPS 数据,这意味着您正在公共/静态 IP 上运行 C# 应用程序。 一旦您收到来自 GPRS 客户端的请求,您也会获得远程端点的 DHCP IP 地址。 一旦您打开该端点和套接字,您就可以将任何数据传输回 GPS 设备。

      假设您的 GPS 设备有一些微控制器来驱动 GSM/GPRS 调制解调器。

      【讨论】:

        【解决方案3】:

        我在这里假设“设备”是某种连接到标准 GSM 网络的手机?

        如果是,那么故事的简短版本是“忘记它”,即使 IP 不是动态的,您根本不会与设备的 IP 对话,您实际上是在与您的提供商 GGSN 的 IP 地址,对于标准的消费者连接,这将是成本停止的地方。

        话虽如此,如果您有预算,并且您的所有设备(假设多个设备)都使用同一个运营商,那么您可以联系运营商并请求一个专用的 APN(接入点名称),本质上是这样的,是移动网络相当于 DNS 记录,或者至少足够类似以使用该类比。

        当您在设备上设置数据连接时,您可能会记得必须输入诸如“pp.vodafone.com”或“INGhub411.o2-uk.inbound”之类的内容,我们将这是您的实际 APN,如果您有一个自定义的,它们可以设置您的设备,以便在 GGSN 上呈现的 IP 实际上有一条静态路由返回到供应商 GSM 网络中的单个设备。

        作为一般经验法则,但在消费级连接上,此功能未启用,因此单个设备没有可用的入口。

        正如 zmbq 所说,您拥有的唯一选择是让设备定期轮询服务器,是的,不幸的是,这对电池非常不利。

        当然还有另一种方法可以解决这个问题,那就是让设备直接打开一个连接到您的服务器的套接字,然后保持该套接字打开。一旦套接字打开,可以通过链接执行 2 路通信,不幸的是,您还必须编写所有代码来管理此连接,包括但不限于监视连接以确保它仍然打开并重新建立如果不是,它在移动设备上非常重要。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多