3

我们希望在 Windows Azure 云服务上实现一个端口,并希望对我们的策略提供一些反馈。

我们目前的项目:

  • 作为客户端运行的物理 GPS 单元
  • 作为服务器运行的Windows Azure 云服务

1) 物理 GPS 单元:我们使用 XT-4000[Xirgo Technologies] 物理 GPS 单元,这是一个强大的跟踪、监控和控制网关设备。该设备需要 UDP 或 TCP 端口进行通信。

2)Windows Azure云服务:这里我们需要打开一个TCP或UDP端口,并在那里有一个监听器,监听设备推送的传入数据[XT-4000]。

这就是我们认为我们的策略应该是什么。感谢所有建议。

  • 在 Azure 上创建 TCP 端口。
  • 设置监听器以接收来自设备的传入信号。

[但问题是我们能否在 Windows Azure 云服务上创建 TCP 端口作为其基于云的平台,如果是,那么如何?]

另外两个问题:

  • 由于设备同时支持UDP或TCP端口进行通信,哪一个更好?

  • 为了从设备接收信号到端口,我们需要任何第三方帮助吗?

4

2 回答 2

3

您需要使用Windows Azure 云服务而不是Windows Azure 网站

对于云服务,您需要使用 Worker Role 来实现设备支持的协议。您可以选择 TCP 或 UDP - 任何您更喜欢编程的方式。您必须为您的云服务定义一个输入端点

至于补充问题:

As the device supports both UDP or TCP port to communicate, which one is better?

取决于设备支持的协议。我见过许多 GPS 设备使用的协议。从“只需发送并忘记”到“非常强大的错误检查和接收确认”。如果您的设备的协议类型是“只需发送并忘记”,那么 TCP 可能会更好,因为它更可靠。如果设备的协议容易出错并且进行验证/CRC-检查/接收确认,那么您可以使用 UDP。

为了从设备接收信号到端口,我们需要任何第三方帮助吗?

这取决于您的编程技能...

于 2013-04-10T08:09:41.327 回答
3

我们已经实现了在 Windows Azure 上成功运行的类似服务(车辆跟踪)。一些观察:

  • 根据 astakov 的回答,您正在查看云服务(工作者角色)
  • Azure 同时支持 TCP 和 UDP,但如果可以选择,请选择 TCP。UDP 没有连接,设备无法知道您的服务是否已收到数据。我们被迫使用 UDP 并且必须向设备发送确认数据,否则它会被重新发送(我们实际上必须通过 UDP 编写我们自己的协议)。从您的服务器向设备发送 UDP 数据包可能会被移动网络防火墙规则(和其他网络配置)阻止。尽可能与 UDP 作斗争——UDP 的有损特性完全不适合车辆跟踪。
  • 检查设备是否支持 DNS。其中许多设备只发送到 IP 地址,这使得部署有点棘手。
  • 这些设备需要最小化传输的数据(因为 GSM 数据成本),并且通常以专有和压缩格式发送数据。您的大部分精力都将花在挑选二进制数据上。如果可以,请找到具有库的供应商,您可以使用该库在服务器端解码数据。在我们的特殊情况下(对于定制设计和制造的设备),仅对数据进行正确解码就需要大约 10 个人月的开发时间。
于 2013-04-10T11:30:15.580 回答