我目前正在从事一项具有以下要求的项目。
该应用程序是用Python编写的,
Application在任何实例上都有两个线程运行,一个是'server',另一个是'app-logic'。
服务器侦听端口6000(或任何此类自定义端口)并读取传入消息(这是纯文本命令),然后将该消息传递给app-logic,然后app-logic处理输入,创建输出,然后将出站消息传递给服务器。
然后服务器写入客户端的端口7000(或任何此类固定端口,客户端专门用于从上述端口读取)
到目前为止,我已经尝试了Google-App-Engine并因为有关线程的问题而放弃了。我尝试过OpenShift,他们不支持绑定到自定义端口。他们只支持绑定到端口8080(这很好),但对此,他们已经转发了来自其他地方的流量。事实证明,我的应用程序中的“服务器”读取入站流来自我为该站点分配的同一台机器的不同端口,并且由于消息不是HTTP格式,我无法写回到客户端。
是否有支持此类应用的PaaS?
更新:我已经使用Openshift完成了一段时间的项目。在我们使用第三方消息服务(如pubnub或pusher)时,我遇到了这个问题,这是一块蛋糕。
答案 0 :(得分:0)
我找到了一种方法!那就是在Openshift中使用DIY墨盒(自己动手),安装Python并运行“Websockets”。当然,这仍然意味着传输应该是HTTP。
另一种选择是转向IaaS(基础架构即服务)而不是PaaS。
答案 1 :(得分:0)
只要您想要在该端口上讲话或者只想在内部使用它,您也可以绑定到任意端口。例如,有些人使用OpenShift编写IRC机器人,这些机器人在6666或6667端口上运行。如果你想听取来自外部openhift的请求,那么你只能绑定到8080