【发布时间】:2018-08-28 12:27:11
【问题描述】:
我的服务器和客户端之间的 websocket 连接应该保持活动状态,直到客户端关闭它。当打开连接时,客户端应该通过发送带有令牌的第一条消息来验证自己。如果在生成 websocket 处理程序后的一段时间内没有收到这样的消息,它应该终止。如何实现这样的超时?
注意:idle_timeout 选项不适合,因为我只需要第一条消息超时。
【问题讨论】:
我的服务器和客户端之间的 websocket 连接应该保持活动状态,直到客户端关闭它。当打开连接时,客户端应该通过发送带有令牌的第一条消息来验证自己。如果在生成 websocket 处理程序后的一段时间内没有收到这样的消息,它应该终止。如何实现这样的超时?
注意:idle_timeout 选项不适合,因为我只需要第一条消息超时。
【问题讨论】:
只需在您自己的websocket_init 回调中启动计时器即可。
如果用户在超时之前进行身份验证,则忽略它,您可以通过更新用户身份验证时的状态来实现。
erlang:start_timer 文档:
【讨论】: