Cowboy websocket 处理程序:如何为第一条消息设置超时?
Cowboy websocket handler: How to set timeout for first message?
我的服务器和客户端之间有 websocket 连接,在客户端关闭之前应该保持连接。当打开连接时,客户端应该通过发送带有令牌的第一条消息来验证自己。如果在生成 websocket 处理程序后的一段时间内不会收到这样的消息,它应该终止。如何实现这种超时?
注意:idle_timeout 选项不适合,因为我只需要第一条消息超时。
只需在您的 websocket_init
回调中自行启动计时器。
如果用户在超时之前进行身份验证,则忽略它,您可以通过在用户对自己进行身份验证时更新状态来实现此目的。
erlang:start_timer
文档:
我的服务器和客户端之间有 websocket 连接,在客户端关闭之前应该保持连接。当打开连接时,客户端应该通过发送带有令牌的第一条消息来验证自己。如果在生成 websocket 处理程序后的一段时间内不会收到这样的消息,它应该终止。如何实现这种超时?
注意:idle_timeout 选项不适合,因为我只需要第一条消息超时。
只需在您的 websocket_init
回调中自行启动计时器。
如果用户在超时之前进行身份验证,则忽略它,您可以通过在用户对自己进行身份验证时更新状态来实现此目的。
erlang:start_timer
文档: