python - 如何使用 Python 从服务器按时间间隔发送多个 HTTP 响应

标签 python http client-server openshift

有没有办法在连接打开后向客户端发送多个 HTTP 响应?例如,假设它是一个用 Python 编写的游戏服务器,运行在 OpenShift 等 PaaS 上。客户端发送一个“GET”请求,其中包含连接请求。我希望能够每秒从服务器向客户端发送一次“更新”。我尝试保持连接打开并向客户端写入数据,但没有成功。我所能做的就是客户端每秒发送一个“更新请求”,服务器可以响应该请求。 有解决方法吗?

提前致谢。

最佳答案

你所描述的是一个websocket,它是服务器和客户端之间的持久连接。我建议您使用socket.io ,因为如果您的用户浏览器不支持 Websocket,那么它将回退到具有相同目的的其他协议(protocol)。

为了使用套接字或socket.io,您必须在支持它们的服务器上使用Python库,以及支持gevent或tornado等协程的库。查看类似 gevent-socketio 的内容(虽然已经有一段时间没有更新了),或者在 pip、pip search socketio 上搜索一些其他选项。

如果您不想实现自己的解决方案,另一种选择是使用消息服务,例如 PubnubPusher 。我在自己的 python+openshift 应用程序上使用 Pubnub,集成非常简单。这些消息传递服务负责维护与客户端的持久连接,当您想要一次更新一个或多个客户端时,您只需向消息传递服务发送一条消息,它们就会将该消息传递给预期的收件人。 p>

关于python - 如何使用 Python 从服务器按时间间隔发送多个 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17848470/

相关文章:

python - 如何使用内部 pypi 构建/部署 Python Azure Function App

python - 如何使用 Selenium Chrome Webdriver、Python 正确使用自定义配置文件

Git、WebDAV 和基本网络托管

java - 服务器接受套接字,但之后套接字无法接收任何内容

python - 子类化 sklearn LinearSVC 以用作 sklearn GridSearchCV 的估计器

python - 将 Python 数据发送到 PHP 脚本

java - 从java中的网页检索URL

http - 为什么 OkHttp 不重用它的连接?

java - 使用客户端/服务器的聊天程序

c - 如果我想从客户端向服务器一一写入多个请求,该怎么办?