请问 Websocket 所谓的有状态是什么意思?

假如服务器通过 Websocket 广播信息,里面包含所有成员的身份识别码(仅仅用于区分身份),通过这个识别码可以在服务器里定位到某个成员。那么是不是只要能限制每个连接的 onmessage 回调函数的操作范围,就能限制用户操作,这样即便知道身份识别码,也不能影响其它的用户?比如冒名顶替?

阅读 2.6k
2 个回答

不知道你说的限制用户操作和冒名顶替是什么意思。

我记忆里 ws 握手成功完成链接之后,服务器会把这次会话保持在一个“连接池”里面。
这个区分身份的识别码也只是去标识这个长链接。

广播则是向全部会话都发起,所以用户知道不知道这个识别码并没有什么用。就算服务端靠你携带过去的识别码去做后续的通讯也是和其他会话进行了。

websocket的有状态应该是具体的连接,也就是你说的连接对象。

这里的有状态,我把它理解成http里面的cookie。websocket里面的连接就是http里面的cookie。http通过cookie识别不同客户端的会话,websocket通过连接来识别不同客户端的会话。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题