Python 运行时通过 pickling the connection 允许它.是否有类似的方式在经典 App Engine 上使用 Go 运行时与 google.golang.org/appengine/socket
共享套接字?
最佳答案
描述符未在 Go API 中公开:https://github.com/golang/appengine/blob/master/socket/socket_classic.go#L152
type Conn struct {
ctx context.Context
desc string
offset int64
prot pb.CreateSocketRequest_SocketProtocol
local, remote *pb.AddressPort
readDeadline, writeDeadline time.Time // optional
}
desc
是您在另一端重建套接字所需要的。
应该可以在 GitHub 上 fork 这个库,更改 conn 结构以公开所需的 desc
属性,然后将导入更改为 github.com/YOURUSERNAME/appengine/socket
而不是 appengine/socket
。
这需要大量工作,所以如果您能想出不同的方法来解决这个问题,您可能会过得更好。尽管如此,这应该是可能的。
关于google-app-engine - 如何使用 Go 运行时在 App Engine 上的实例之间传递套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316147/