有谁知道如何在Mochiweb应用程序中启用活动代替被动套接字。具体来说,我试图修改http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-2,这样当客户端断开时,它会立即“注销”。如何启用Mochiweb应用程序中的活动套接字?
我已经尝试设置:
start(Options) ->
{DocRoot, Options1} = get_option(docroot, Options),
Loop = fun (Req) ->
Socket = Req:get(socket),
inet:setopts(Socket, [{active, once}]),
?MODULE:loop(Req, DocRoot)
end,
,但似乎无法正常工作。发送新消息后,我仍然只会在我的receive
中收到更新。
想法?谢谢!
您可以扩展您为什么需要{active,once}模式来检测客户端断开连接吗?被动与主动模式是关于如何使用套接字,而不是从中获得什么级别的信息。 – Christian
基督徒,在被动模式下,当您尝试返回数据(或从套接字读取更多内容)时,您只会发现客户端已断开连接。 – inklesspen