Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure-基础应用程序通信c#vs 2012_C#_Azure_Tcp_Worker - Fatal编程技术网

Azure-基础应用程序通信c#vs 2012

Azure-基础应用程序通信c#vs 2012,c#,azure,tcp,worker,C#,Azure,Tcp,Worker,我必须用c语言编写一个azure应用程序: 具有比较gps信息的工作人员角色 存储用户配置文件信息 并且可以从用户设备获取和设置这两个 例如,我希望我的设备通过打开与worker角色的连接定期将其gps坐标上载到worker,验证用户身份,允许在此用户的任何现有坐标上保存gps坐标。另外,或者作为一名我不知道的单独工作人员,我需要工作人员角色检查并在所有设备的gps上执行计算。然后在某些点将某些信息下推到特定设备 我想要的似乎并不困难,但找到一个从设备到azure服务的tcp消息的简单示例我花了

我必须用c语言编写一个azure应用程序:

具有比较gps信息的工作人员角色 存储用户配置文件信息

并且可以从用户设备获取和设置这两个

例如,我希望我的设备通过打开与worker角色的连接定期将其gps坐标上载到worker,验证用户身份,允许在此用户的任何现有坐标上保存gps坐标。另外,或者作为一名我不知道的单独工作人员,我需要工作人员角色检查并在所有设备的gps上执行计算。然后在某些点将某些信息下推到特定设备


我想要的似乎并不困难,但找到一个从设备到azure服务的tcp消息的简单示例我花了数小时查找设备之间的通信,我不了解这些设备之间的通信。使用azure进行tcp编程是可能的,但如果您需要随时可用的tcp端点,则不实用。TCP终结点不能在Azure中长时间处于非活动状态

您当然可以按照Ondrej的建议使用Web服务。或者您也可以使用Azure队列。我写了一封信。它是一个基于消息的解决方案,运行在REST调用之上


我不清楚的是,您需要直接从Azure接触所有设备。除非我误解了您的场景,否则您希望Azure角色“连接”到所有现有设备,从这些设备获取数据,在Azure中执行一些计算,然后将数据推回到设备?如果您的设备不可访问,这似乎很难做到,而且容易出错——如果您的GPS设备注册了工作者角色,并且可以通过公共DNS访问,我想您可以做到这一点。但就我个人而言,我倾向于只将数据从设备推送到云端的解决方案;那样应该容易得多。您指的是哪种设备?你想做什么?

Azure只不过是可扩展的基础架构即服务。使用它并不会使所有建立TCP连接的传统方法失效——您只需采取一些额外的步骤来打开正确的端口,并使您的服务具有适当的可伸缩性。你能在一个非Azure环境中开发tcp消息传递吗?mellamokb the Wise,我在大学的最后一年,刚刚被介绍到Socket,并使用了udp(但用于java)。奇怪的是,在编程风格模块的最后一年,我们实际上只使用c语言。在看了@Ondrej Tucny评论之后,我到底想要一个托管的web服务吗?为什么这不能通过azure实现?还是更容易/更难?如果是这样的话,我可以从哪里开始寻找呢?谢谢你们两位@Herve Roggero@,我的基本理解错了吗?我想:很多便携式设备上的gps表示,每隔2分钟就会将它们与用户名和一些基本信息联系起来,以便识别它们。当两台设备彼此相距一定距离,然后设备开始发送更准确、更频繁的gps信息,并且如果设备相距不超过10米,例如,应通知设备彼此的位置:)哦。。。我懂了。我会将数据推送到队列中,因为使用REST非常简单。然后,我还会为每个设备创建一个Azure表,其中包含附近的用户/设备列表。因此,设备可以随时通过队列(或几个队列-请参阅我在原始响应中发布的博客)广播其位置,并根据需要检查Azure表。工作者角色只需使用附近设备的列表更新Azure表。您可以拥有任意数量的azure表;它们可以自动伸缩,Azure表很便宜。