Cowboy websocket 处理程序:如何为第一条消息设置超时?

Cowboy websocket handler: How to set timeout for first message?

我的服务器和客户端之间有 websocket 连接,在客户端关闭之前应该保持连接。当打开连接时,客户端应该通过发送带有令牌的第一条消息来验证自己。如果在生成 websocket 处理程序后的一段时间内不会收到这样的消息,它应该终止。如何实现这种超时?

注意:idle_timeout 选项不适合,因为我只需要第一条消息超时。

只需在您的 websocket_init 回调中自行启动计时器。 如果用户在超时之前进行身份验证,则忽略它,您可以通过在用户对自己进行身份验证时更新状态来实现此目的。

erlang:start_timer 文档:

http://erlang.org/doc/man/erlang.html#start_timer-3