2013-04-10 189 views
3

我们希望通过Windows Azure Cloud Service实现端口,并希望对我们的策略提供一些反馈。在Windows Azure中实现TCP/UDP端口

我们目前的项目:

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

1)物理GPS单元: 我们使用XT-4000 [Xirgo技术]物理GPS单元这是一种强大的跟踪,监视和控制网关device.This装置需要UDP或TCP端口进行通信。

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

下面是我们认为我们的策略应该是什么。所有的建议表示赞赏。

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

[但问题是,我们可以在Windows Azure云服务创建TCP端口为一个基于云的平台,如果是,那么如何?]

另外两个问题:

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

  • 为了接收设备间的信号,我们需要任何第三方帮助吗?

回答

3

您需要使用Windows Azure Cloud Service而不是Windows Azure Web Site

对于云服务,您将需要使用工作者角色来实现设备支持的协议。你可以使用TCP或UDP--无论你更习惯于编程。您将不得不为define an input endpoints为您的云服务。

至于其他问题:

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

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

对于从设备接收信号端口我们需要任何第三方 的帮助吗?

这取决于你的编程技巧...

+0

感谢您的指导方针astaykov。 – 2013-04-10 09:38:49

+0

@astaykov我不明白为什么一个“只发送和忘记”应该使用TCP,这基本上是一个UDP协议的定义。难道不是相反吗? – Crypth 2013-12-17 06:39:16

+0

@Crypth你为什么问我?询问制造这些设备的人!但无论如何,我对这样的实现感到非常满意。很长一段时间,Azure不支持UDP,我很高兴地通过TCP运行“火灾和遗忘”类型的设备。我不知道在不知道GPS设备市场的情况下,评论一个8个月的帖子背后的驱动程序是什么(显然)! – astaykov 2013-12-17 07:19:21

3

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

  • 按astakov的回答,你现在看到的是云服务(工作者角色)
  • Azure的同时支持TCP和UDP,但如果你有一个选择,去TCP。 UDP没有连接,设备无法知道您的服务是否已收到数据。我们被迫使用UDP并且必须向设备发送确认数据,否则它会被重新发送(我们实际上必须通过UDP编写我们自己的协议)。移动网络防火墙规则(和其他网络配置)可能会阻止从服务器向设备发送UDP数据包。尽可能地对抗UDP - UDP的有损性质完全不适用于车辆跟踪。
  • 检查设备是否支持DNS。这些设备中的很多只会发送到IP地址,这使得部署更有趣。
  • 这些设备需要最小化传输的数据(由于GSM数据成本),并且通常以专有和压缩格式发送数据。你的大部分工作将花费在分解二进制数据上。如果可以,找到一个供应商,该供应商有一个库,可以使用服务器端解码数据。我个人的情况(对于一个定制的设计和建造的设备),花了大约10个月的时间才开始正确解码数据。
+0

如果设备不支持DNS,我不会说以任何方式进行部署。 Windows Azure保证只要有部署,IP地址就不会更改,而且您不会删除**。关于设备是否支持DNS,您在部署云服务方面完全没有区别。现在,所有类型的就地升级都得到支持。 – astaykov 2013-04-10 12:31:38