Python使用正确的

2024-06-01 09:01:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是googlecloud和googleappengine,我想让我们的一个服务API使用socket连接,而不是一个普通的HTTP连接,在这个连接中,每个查询接收一个请求并发送一个响应。你知道吗

我需要这个套接字连接,这样每当更新时就会有一个持续的连接和当前数据流被发送回用户。你知道吗

我已经阅读了一些文档,googleappengine的sockets文档建议使用socket库。但是在文档的底部,他们提供了一个示例应用程序,它使用带有套接字的googleappengine,但是示例应用程序中的套接字是由nntplib而不是socket构成的。有多少python库可以用来制作/使用socket,我应该使用哪个socket进行这种连接。你知道吗

它说在python文档中nntplib用于实现新闻阅读器或海报,所以我不确定这是否是正确的套接字连接类型,我应该用于将用户的当前在线数据发送回前端用户。你知道吗

https://docs.python.org/2/library/nntplib.html

我应该用它吗

socket.socket()

编辑: https://cloud.google.com/appengine/docs/standard/python/sockets/#making_httplib_use_sockets


Tags: 用户文档httpsapi应用程序http示例docs
2条回答

我最初的意图是不使用任何额外的服务或费用,比如@dhauptman建议的许多好的服务或费用,但是根据Google App Engine docs for sockets(Python 2.7)的说法: Python Sockets Google App Engine

似乎因为套接字只支持出站套接字,所以我可以创建一个带有订阅事件的套接字连接,并且每当事件发生并更新时,只需查询API中的任务处理程序并将其作为响应发送回去。你知道吗

另一种选择是使用httplib库而不是googleappengines。使用httplib库时,可以将其配置为在附录yaml文件。这将克服达到urlfetch限制的问题。你知道吗

如果我很好地理解了您需要的连接类型,Websockets将是一个好主意,这样您就可以创建一个全双工通信通道。然而,googleappengine(GAE)还不支持Websockets。根据这个post,GAE Flexible很快就会实现它。你知道吗

GAE中有一个Websockets的特性请求,您可以在这个link中跟踪更新

同时,如果您需要Websockets,就必须使用Compute Engine instances

关于GAE中对socket的支持,您可以使用任何导入socket的库(poplib、nntplib等),这些库不会违反here列出的一些限制和限制。你知道吗

相关问题 更多 >