据我所知,这是公认的不好,Twisted只是一个实施协议的框架。你可以实现HTTP WITH扭曲,它不是一个替代TO http。
for 1: 如果我这样做了,而且我没有任何具体的要求,那么http(或https)会在我的清单上很高。它可以通过任何你想经过的防火墙而不需要重新配置,你将在两端都有大量的工具集来处理(服务器和应用程序开发),并且它适用于任何事情。只要GET'http://server.com/checkin?id=12345 & status = OK'就可以了。请记住,如果安全问题存在,外部人员可以看到这些信息。某种时间+基于ID的令牌(认为公钥加密字符串)和https可用于防止外部人员使用重播攻击。 (可能看起来像:'https://server.com/checkin?token=7d71905f039f67bedcaec2fe5ccc6783',其中十六进制字符串将解密为'$ ID:$ STATUS:$ TIME'或类似的服务器。)
另一个使用http的好处是,上面的“checkin”几乎可以在任何平台上从java到.net到python,perl,ruby,php等任何平台上运行,任何windows,solaris,linux,bsd或真正的组合还要别的吗。负载均衡会很简单(因为当你让数十亿用户使用“SuperCheckIn”应用程序授权给所有的财富1000),并且真的没有上限和下限。该设备将享有类似的软件自由,因为您可以使用华丽的自定义Windows服务,或者“低”wget和cron在* nix上。(注意:没有任何反对wget或cron的东西,它们是我最喜欢的东西)
如果你需要超轻量级,就像嵌入在设备中的arm(或更少)处理器,UDP可能是一个体面的答案,但如果登记入住至关重要,你必须找出一些更可靠的方法。对接收到的数据进行基本校验和的简单ACK响应可以起作用并且易于实现。
刚刚实现了一个UDP服务器来通过蜂窝网络监听ARM设备,我不得不说,它并不比UDP简单得多。
for 2:这实际上取决于您是否有另一种确保数据传输的方法。使用UDP,是的,您可能想要在特定时间段内对所述数据的校验和进行确认收到数据。与http,它内置(响应代码)。
只记得:KISS。 http满足了这一点,而天生兼容。扭曲的,恕我直言,情况有点复杂。
如果你的问题更具体,并且你包含了一个代码示例,它有一些你正试图解决的具体问题,这将会有所帮助。 – Glyph
定义'在线'。这个概念在TCP/IP中没有意义。 – EJP