与处理 websocket 连接的 cowboy 进程链接(cowboy、erlang)



我正在开发一个同时使用牛仔和袜子的erlang应用程序,我想知道是否可以与处理websocket连接的牛仔进程链接?

现在,具有gen_server行为的进程与每个网络行为相关联。这样的进程将Conn实例存储在init中,当客户端关闭连接时,该进程将从websocket处理程序终止,如果gen_server进程终止,则从执行清理的gen_server的终止()调用Conn:close。它可以工作,但我不喜欢这个解决方案,因为在某些情况下,即使启用了trap_exit终止函数也不会被调用,所以如果可以链接,这将是更好、更简单的解决方案。

在什么情况下,终止不会在gen_server上调用?

理论上,您可以从Conn对象中提取Pid,但这显然破坏了封装。

如果您可以提出一个合理的 API 来解决您的问题,请随时提交拉取请求(请在拉取请求中详细解释问题)。

最新更新