包装公司网站模板,动漫做羞羞的网站,微信如何分享wordpress,集团网站建设公司文章目录 接收消息的原理接收消息JavaScript代码 接收消息的原理
接收消息#xff0c;就是接受服务器转发的客户端消息。并不需要单独创建函数#xff0c;因为 ws.onmessage会自动接收消息。我们需要在这个函数里进行处理。因为初始化的时候#xff0c;已经处理的init类型的… 文章目录 接收消息的原理接收消息JavaScript代码 接收消息的原理
接收消息就是接受服务器转发的客户端消息。并不需要单独创建函数因为 ws.onmessage会自动接收消息。我们需要在这个函数里进行处理。因为初始化的时候已经处理的init类型的消息。这次处理text类型的消息。把接收到的消息展示在聊天窗口左侧追加而已。
接收消息
JavaScript代码
ws.onmessagefunction (e){// json数据转换成js对象var data eval((e.data));var type data.type || ;console.log(data)switch(type){// Events.php中返回的init类型的消息将client_id发给后台进行uid绑定case init:// 利用jquery发起ajax请求将client_id发给后端进行uid绑定$.post(/chat.php/Chat/bind, {client_id: data.client_id}, function(data){}, json); break;// 当mvc框架调用GatewayClient发消息时直接alert出来case text:var contentdata.content;var content_typedata.content_type;var f_iddata.from_id;if (f_id !to_id){//不接收其他人给当前用户发来的消息在此展示/*如果当前用户为a和b、c同时聊天应该是打开两个聊天界面。但是b、c给发送的消息都会发给aa的两个界面同时接收。就会造成消息乱展示。所以如果不是当前聊天的对方发来的消息就不展示。*/}else{var htmlrender_accept(content,content_type);$(#chat_content).append(html);}break;// 当mvc框架调用GatewayClient发消息时直接alert出来case logout:console.log(掉线了)break;default :alert(e.data);}}//接收到的消息渲染渲染对方的消息在左侧。function render_accept(content,content_type) {var htmldiv classmedia div classmedia-left img classmedia-object avatar srcto_avatar alt... /div div classmedia-body h4 classmedia-headingto_user_name/h4 ;if(content_type1){html p classchat_msg_leftcontent/p ;}if(content_type2 ){html p classchat_msg_leftimg srccontent//p ;}if(content_type3 ){html p classchat_msg_leftimg srccontent classemoj_w//p ;}html /div /div;return html;}到这里接收消息就做完了。