当前位置: 首页 > news >正文

创建免费网站需要什么条件外贸网站建设商家

创建免费网站需要什么条件,外贸网站建设商家,自建商城,北京网站建设费用文章目录 一、概述:二、配置:1. 后端配置2. uni-app(app端)3. 使用 一、概述: websocket 协议是在http 协议的基础上的升级,通过一次http 请求建立长连接,转而变为TCP 的全双工通信;而http 协议是一问一答…

文章目录

  • 一、概述:
  • 二、配置:
    • 1. 后端配置
    • 2. uni-app(app端)
    • 3. 使用

一、概述:

websocket 协议是在http 协议的基础上的升级,通过一次http 请求建立长连接,转而变为TCP 的全双工通信;而http 协议是一问一答的请求方式方式。

二、配置:

1. 后端配置

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer{@Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {//注册STOMP协议的节点(endpoint),并映射指定的url//注册一个STOMP的endpoint,并指定使用SockJS协议// 此处配置支持PC 端浏览器,客户端访问采用http registry.addEndpoint("/websocket").setAllowedOriginPatterns("*").withSockJS();// 此处配置支持uniapp  app 端打包,不要带withSockJS, 客户端访问 采用ws 协议registry.addEndpoint("/websocket-app").setAllowedOriginPatterns("*");}@Overridepublic void configureMessageBroker(MessageBrokerRegistry registry) {//配置消息代理(Message Broker)//广播式应配置一个/topic消息代理registry.enableSimpleBroker("/topic");}
}

2. uni-app(app端)

websocket-uni.js

let socketOpen = false;
let socketMsgQueue = [];
import http from "@/common/Http.vue";export default {client: null,baseURL: `ws://192.168.1.1:9109/websocket-app`,//uni-app使用时不能使用http不然监听不到,需要使用wsinit(headers) {if (this.client) {return Promise.resolve(this.client);}return new Promise((resolve, reject) => {const ws = {send: this.sendMessage,onopen: null,onmessage: null,close: this.closeSocket,};uni.connectSocket({url: this.baseURL,header: headers,success: function() {console.log("WebSocket连接成功");}});uni.onSocketOpen(function(res) {console.log('WebSocket连接已打开!', res);socketOpen = true;for (let i = 0; i < socketMsgQueue.length; i++) {ws.send(socketMsgQueue[i]);}socketMsgQueue = [];ws.onopen && ws.onopen();});uni.onSocketMessage(function(res) {console.log("回馈")ws.onmessage && ws.onmessage(res);});uni.onSocketError(function(res) {console.log('WebSocket 错误!', res);});uni.onSocketClose((res) => {this.client.disconnect();this.client = null;socketOpen = false;console.log('WebSocket 已关闭!', res);});const Stomp = require('./stomp.js').Stomp;Stomp.setInterval = function(interval, f) {return setInterval(f, interval);};Stomp.clearInterval = function(id) {return clearInterval(id);};const client = this.client = Stomp.over(ws);client.connect(headers, function() {console.log('stomp connected');resolve(client);});});},disconnect() {uni.closeSocket();},sendMessage(message) {if (socketOpen) {uni.sendSocketMessage({data: message,});} else {socketMsgQueue.push(message);}},closeSocket() {console.log('closeSocket');},
};

3. 使用

	import WebSocket from '@/components/js/websocket-uni1.js';if (self.map.get("token")) {//需要上传tokenheaders.Authorization = self.map.get("token");}WebSocket.init(headers).then(client => {//接收反馈端口,成功方法,错误方法client.subscribe('/topic/getResponse', this.responseCallback, this.onFailed);});responseCallback: function(frame) {let self=this;let body = JSON.parse(frame.body);uni.showToast({icon:"success",icon: 'none',position:"center",title:"消息:您有一个新的消息,请注意接收"},2000)},onFailed: function(frame) {//this.$notify.error({//  title: '系统错误',//  message: '消息服务连接失败!',//});console.log('STOMP: ' + frame);},
http://www.yayakq.cn/news/731457/

相关文章:

  • 天津网站建设 易尔通秦皇岛网站制作源码
  • 中国外贸网站排名专门做本子的网站
  • 卡盟建设vip网站如何开发cms网站
  • 有网站用nodejs做后台手机端网站开发源码
  • 做网站购买什么dw做网站图片运用
  • 旅游网站规划设计与建设wordpress the7 官网
  • 自己的网站怎么接广告哪块行业需要网站建设
  • 国外的做的比较优秀的网站有哪些成都网站设计合理柚v米科技
  • 青海住房和城乡建设厅网站株洲定制型网站建设
  • 深圳网站建设认准乐云游戏门户网站建设
  • 织梦做网站被告高水平大学建设大学网站
  • 网站如何做问卷调查问卷郑州网站优化公司价位
  • 黑龙江省网站建设网站中添加百度地图
  • 静态网站什么意思品牌高端网站制作官网
  • 安徽网站建设制作做网站需要哪些栏目
  • 外贸专业网站网络直播平台
  • 购物优惠券网站怎么做郴州市简介
  • 网站制作的关键技术广丰网站建设
  • 网站做实名验证码无锡外贸网站开发
  • 高端网站设计开发免费网页下载
  • 学校如何建网站网页设计购物网站模板
  • 0基础学网站开发怎么看网站室哪做的
  • 最新网站信息方案设计评分标准
  • 湖北专业网站建设口碑好wordpress 判断版本号
  • 查询网站到期时间手机app开发成本
  • html5的网站有哪些上海广告公司电话
  • 商城网站建设如何wordpress插件wp
  • 快速网站建设价格python官网
  • 百度的网站网址网站建设运营策划书
  • 网站建设导向网站建设分几个阶段