猿问

我可以在没有特殊库的情况下在 Appengine 上使用套接字吗?

我对 GAE文档感到困惑。它说 App Engine supports sockets without requiring you to import any special App Engine libraries or add any special App Engine code。但它似乎具有误导性,正如上面所说App Engine supports outbound sockets through the appengine/socket package.

我想使用标准网络包连接到IMAP服务器。这是可能的,还是我坚持使用 GAE 套接字 API?

https://cloud.google.com/appengine/docs/go/sockets/


小怪兽爱吃肉
浏览 154回答 2
2回答

四季花海

不通过 appengine/socket api 就不可能打开出站套接字。这是因为它通过 RPC 工作,并且需要一个 appengine.Context 来做到这一点。不过,您仍然可以使用链接的 IMAP 库,因为它提供了使用给定 net.Conn 创建客户端的功能。您可以从 appengine/socket 获取 net.Conn 并将其传递给 NewClient 以开展您的业务。它适用于 python 和 java 的原因是因为它们都使用线程本地内存来隐式管理请求状态,而 go 运行时则没有。
随时随地看视频慕课网APP

相关分类

Go
我要回答