链接处理websocket连接的牛仔进程(牛仔,erlang)

时间:2012-10-03 11:20:13

标签: erlang cowboy sockjs

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

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

1 个答案:

答案 0 :(得分:0)

在什么情况下不会在gen_server上调用terminate?

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

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