tldr; 如何让 AWS 服务器上的程序持续监听数据包?
我想构建一个 iPhone 应用程序来收集传感器数据并将该数据发送到服务器。当服务器有足够的传感器数据时,它会根据数据构造一个分类器,并将该分类器发送到所有贡献的 iPhone 应用程序。我正在尝试在 AWS 上托管服务器。
我花了好几个小时阅读数据流、tcp 协议、amazon ec2、amazon emr、apache spark、spark streaming、amazon s3、restful 接口、cron 作业、amazon vpc 等,但我就是不能把这些一起。我只是不明白 iPhone 和 AWS 服务器是如何通信的。让我向您介绍我认为该应用程序应该如何工作。请纠正我思考过程中的任何错误,并让我知道我应该如何做这些事情。
1) The iPhone app collects some sensor data. 2) The iPhone app sends the data to the AWS server using HTTP or TCP. How do I do this? Do I need to supply the IP address of my server? 3) The server picks up the sensor data from the iPhone. This is where I'm really confused. How does this happen? Can I have a Python program hosted on AWS running in an infinite loop checking for data packets? Do I need to run a CRON job on AWS? Do I need to download a web server on an EC2 node? Can I use a third party streaming tool like Spark Streaming or Amazon Kinesis? Basically, how do I get a server-side program to continuously listen for data packets? 4) The server constructs the classifier when it has enough data. 5) The server sends the classifier to the iPhone app using HTTP or TCP.
我觉得我错过了一些非常基本的东西。我的主要问题是我不明白服务器上的程序(特别是 AWS ec-2 节点或 AWS EMR 集群)应该如何监听数据包。