名词解释:
http,一次请求,一次连接。基于请求响应模型。
websocket,多次请求,只需一次连接。服务端可以主动给客户端发送消息。
netty-socket.io,基于netty的java版socket.io
socket.io,将Websocket和轮询(Polling)机制以及其它的实时通信方式封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码。
目的:
我们想要一个基于浏览器进程的cookie,即,在浏览器一次打开到关闭之间,多个连接共享的一个cookie。
问题:
netty-socket.io用于和客户端进行实时通信,每一次连接,可以有多个请求。每个连接,有一个随机生成的sessionId和Cookie。
(SocketIOClient)client.getSessionId(),可以获取sessionId,
(SocketIOClient)client.getHandshakeData().getHttpHeaders().get(HttpHeaderNames.COOKIE),可以获取Cookie
不同连接的sessionId和Cookie都是不同的。
解决方案一:
通过对netty-socket.io直接进行操作,然后,可以通过上述获取cookie的方法获取到,一个可以被多个连接共享,浏览器不关闭,就一直存在的cookie。这种方式不需要引入http,如:
public class Me