websocket实现仿微信聊天功能

后端使用的技术是springboot前端是H5+和mui框架。
具体步骤很多,我主要概况一下大概,如果有朋友想要源码欢迎加我qq997355706。

前端最主要的地方有4个:
在这里插入图片描述
分别是登录创建与后端websocket的连接,关闭连接和发生错误,和接收消息。
其中open和message又最为重要,里面包括了发送和接收消息。

wsopen: function() {
					console.log("websocket连接已建立...");
					
					var me = app.getUserGlobalInfo();
					//构建ChatMsg
					var chatMsg = new app.ChatMsg(me.id,null,null,null);
					// 构建DateContent	
					var dateContent = new app.DataContent(app.CONNECT,chatMsg,null);
					//发送WebSocket
					CHAT.chat(JSON.stringify(dateContent));
					
					// //每次连接过后,获取用户的未读未签收消息列表
					fetchUnReadMsg();
					
					// //定时发送心跳,要小于后端关闭的时间
					setInterval("CHAT.keepalive()",10000);  
				},

| | |wsmessage: function(e) {
console.log(“接受消息:”+e.data);

				// //转换为DataContent对象
				var dataContent = JSON.parse(e.data);
				// var chatMsg = JSON.parse(e.data);
				
				
				//获取action,判断是否为重新拉取好友/
				var action = dataContent.action;
				if (action === app.PULL_FRIEND) {
					fetchContactList();
					return false;
				}
				
				// //如果不是重新拉取好友列表,则获取聊天消息模型,渲染接收到的聊天记录
				var chatMsg = dataContent.chatMsg;
				var msg = chatMsg.msg;
				var friendUserId = chatMsg.senderId;
				var myId = chatMsg.receiverId;
				// // console.log(msg);
				// // console.log(myId);
				// // console.log(friendUserId);
				
				//调用聊天页面的webview的reciveMsg方法
				// var chatWebview = plus.webview.getWebviewById("chatting-190810CHXGPYWNHH");
				var chatWebview = plus.webview.getWebviewById("chatting-" + friendUserId);
				
				var isRead = true;    //设置消息的默认状态为已读
				
				//当要接受的webview不为空的时候才做渲染
				if (chatWebview != null) {
					//运用其他webview页面的js脚本
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现类似微信聊天功能,你可以使用WebSocket来进行实时通信。WebSocket是一种在客户端和服务器之间双向通信的协议。在前端中,你可以使用TextWebSocketFrame来处理WebSocket的文本消息。在后端,你可以创建一个WebSocket处理器来处理WebSocket的消息。下面是一个示例代码: 在后端,你可以创建一个名为ChatHandler的类,继承自SimpleChannelInboundHandler。在这个类中,你可以重写channelRead0方法来处理接收到的WebSocket消息。你可以使用TextWebSocketFrame来获取文本消息的内容,然后根据业务逻辑进行处理。 在前端,你可以创建一个名为socket.js的文件,并在其中定义一个WebSocket的实例。你可以使用WebSocket的init方法来初始化WebSocket连接。在init方法中,你可以实例化WebSocket对象,并设置onmessage、onerror和onclose的回调函数。在onmessage回调函数中,你可以处理接收到的消息。在send方法中,你可以发送消息给服务器。 这样,你就可以在前端和后端之间建立起一个双向通信的WebSocket连接,实现类似微信聊天功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [websocket实现仿微信聊天功能](https://blog.csdn.net/qq_42332821/article/details/99438673)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [webSocket仿微信聊天,vue+node.js](https://blog.csdn.net/weixin_45389051/article/details/108201288)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值