html5 WebSocket 用户信息

nejtrs 2015-05-29 11:15:16
html5做的app,有个消息推送的功能。
使用WebSocket做消息推送,服务器端要把信息推送给指定的用户。
那么,用户端建立连接时,怎样把userID告诉给服务器呢?
在客户端我是这么写的:先建立连接,再告诉服务器是谁建立的这个连接。
<script type="application/javascript">
var ws = {};
ws.socket = null;
ws.connect = (function(host) {
//判断该使用哪种WebSocket对象
if ('WebSocket' in window) {
ws.socket = new WebSocket(host);
} else if ('MozWebSocket' in window) {
ws.socket = new MozWebSocket(host);
} else {
return;
}
//建立连接触发事件
ws.socket.onopen = function() {
ws.socket.send("userID=XXXXX");
};
//接收消息触发事件
ws.socket.onmessage = function(message) {
};
});
//初始化
ws.initialize = function() {
ws.connect('wss://XXXXXXXXXXXXXXXXXXX');
};
ws.initialize();
</script>

可是感觉很别扭,能否在建立连接的时候,就把userId直接告诉服务器呢,即在Session中写入userID呢
注:用的是htts
...全文
1593 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_37488392 2017-03-24
  • 打赏
  • 举报
回复
同问楼主怎样解决的
  • 打赏
  • 举报
回复
楼主,你这个问题现在解决了吗?我想获取登录的用户名,但是是乱码
qkl2003 2015-06-18
  • 打赏
  • 举报
回复
引用 1 楼 xiaofanku 的回复:
Session本来就是在服务器端呀,不用你传就可以取到 cookie也不用你传,默认会在http的头部一起request过去
在websocket的servlet下,好像不太一样,我也没取到用户信息,请问有实际代码吗?
nejtrs 2015-05-29
  • 打赏
  • 举报
回复
引用 1 楼 xiaofanku 的回复:
Session本来就是在服务器端呀,不用你传就可以取到 cookie也不用你传,默认会在http的头部一起request过去
对呀,我就想在建立连接的时候(onopen),就让手机告诉服务器我是谁(userID)。 除了下面的写法,还有别的方式吗? ws.socket.onopen = function() { ws.socket.send("userID=XXXXX"); };
街头小贩 2015-05-29
  • 打赏
  • 举报
回复
Session本来就是在服务器端呀,不用你传就可以取到 cookie也不用你传,默认会在http的头部一起request过去
业余草 2015-05-29
  • 打赏
  • 举报
回复
服务器获取会话中的Session,session中存有用户信息。
nejtrs 2015-05-29
  • 打赏
  • 举报
回复
我也觉得这句不用写。 现在测试,不写的话,服务器只能得到sessionID,却不知道这个session对应的userID是谁。 app不告诉服务器userID,服务器怎么知道这个Session对应的userID是谁啊。
街头小贩 2015-05-29
  • 打赏
  • 举报
回复
ws.socket.send("userID=XXXXX"); 这行需要写吗?不写,在服务器端输出一下能不能得到xxxx

39,117

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧