IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue Rscoket requset/response -> 正文阅读

[JavaScript知识库]vue Rscoket requset/response

1、安装依赖

npm install --save rsocket-core
npm install --save rsocket-websocket-client

2、组件代码

<template>
  <div>

  </div>
</template>

<script>
  
import { RSocketClient, JsonSerializer, IdentitySerializer } from 'rsocket-core';
import RSocketWebSocketClient from 'rsocket-websocket-client';
  export default {
    data(){
      return{

      }
    },
    created(){
      // backend ws endpoint
      const wsURL = 'ws://localhost:6565/rsocket';

      // rsocket client
      const client = new RSocketClient({
          serializers: {
              data: JsonSerializer,
              metadata: IdentitySerializer
          },
          setup: {
              keepAlive: 60000,
              lifetime: 180000,
              dataMimeType: 'application/json',
              metadataMimeType: 'message/x.rsocket.routing.v0',
          },
          transport: new RSocketWebSocketClient({
              url: wsURL
          })
      });

      // error handler
      const errorHanlder = (e) => console.log(e);
      // response handler
      const responseHanlder = (payload) => {
          const li = document.createElement('li');
          li.innerText = payload.data;
          li.classList.add('list-group-item', 'small')
          document.getElementById('result').appendChild(li);
      }

      // request to rsocket-websocket and response handling
      const numberRequester = (socket, value) => {
          socket.requestStream({
              data: value,
              metadata: String.fromCharCode('number.stream'.length) + 'number.stream'
          }).subscribe({
              onError: errorHanlder,
              onNext: responseHanlder,
              onSubscribe: subscription => {
                  subscription.request(100); // set it to some max value
              }
          })
      }

      const rsRequestResponse = (socket,msg) => {
          // requestResponse模式下,服务端会返回一个payload,在RSocketJS中用Single表示
          const single = socket.requestResponse({
              data: msg
          });
          single.subscribe({
              onComplete: payload => {
                  console.info(`[requestResponse]${payload.data.msg}`)
              }
          });
      };


      // once the backend connection is established, register the event listeners
      client.connect().then(socket => {
          // document.getElementById('n').addEventListener('change', ({srcElement}) => {
          //     numberRequester(socket, parseInt(srcElement.value));
          // })
          rsRequestResponse(socket)
      }, errorHanlder);
    },
    methods:{

    }
  }
</script>

<style lang="scss" scoped>

</style>
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:14:27  更:2022-04-09 18:18:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:17:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码