首页 > 其他分享 >js实现webSocket客户端

js实现webSocket客户端

时间:2023-11-07 14:47:46浏览次数:33  
标签:function webSocket send js ws var data event 客户端

var ws = new WebSocket("ws://localhost:8080/msg"); //readyState属性返回实例对象的当前状态,共有四种。 //CONNECTING:值为0,表示正在连接。 //OPEN:值为1,表示连接成功,可以通信了。 //CLOSING:值为2,表示连接正在关闭。 //CLOSED:值为3,表示连接已经关闭,或者打开连接失败 //例如:if (ws.readyState == WebSocket.CONNECTING) { }   //【用于指定连接成功后的回调函数】 ws.onopen = function (evt) {     console.log("Connection open ...");     ws.send("Hello WebSockets!"); }; //ws.addEventListener('open', function (event) { //    ws.send('Hello Server!'); //};   //【用于指定收到服务器数据后的回调函数】 //【服务器数据有可能是文本,也有可能是二进制数据,需要判断】 ws.onmessage = function (event) {         if (typeof event.data === String) {             console.log("Received data string");         }           if (event.data instanceof ArrayBuffer) {             var buffer = event.data;             console.log("Received arraybuffer");         }     console.log("Received Message: " + evt.data);     ws.close(); };   //[【于指定连接关闭后的回调函数。】 ws.onclose = function (evt) {     console.log("Connection closed."); };   //发送文本 ws.send("Hello WebSockets!"); //发送Blob数据 var file = document     .querySelector('input[type="file"]')     .files[0]; ws.send(file); //发送ArrayBuffer var img = canvas_context.getImageData(0, 0, 400, 320); var binary = new Uint8Array(img.data.length); for (var i = 0; i < img.data.length; i++) {     binary[i] = img.data[i]; } ws.send(binary.buffer);   //webSocket.bufferedAmount //bufferedAmount属性,表示还有多少字节的二进制数据没有发送出去。它可以用来判断发送是否结束 var data = new ArrayBuffer(10000000); socket.send(data);   if (socket.bufferedAmount === 0) {     // 发送完毕 else {     // 发送还没结束 }   //webSocket.onerror 用于指定报错时的回调函数   ws.onerror = function (event) { };   es.addEventListener("error"function (event) { });

标签:function,webSocket,send,js,ws,var,data,event,客户端
From: https://www.cnblogs.com/kn-zheng/p/17814930.html

相关文章

  • [JSON] Fastjson 之版本对比:Fastjson vs Fastjson2
    1Fastjson21.1简述FASTJSON相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。Fastjson2相对Fastjson1版本可以说是一次完全重构。这里从代码的角度,分析两者的一些区别;并总结一些新的,让小伙伴们使用Fastjson2或者进......
  • 在线直播源码,js 文件上传 图片上传 传输速度计算
    在线直播源码,js文件上传图片上传传输速度计算<!doctypehtml><html><head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scal......
  • js判断url是否可用
    问题需要判断url是否可用,再去执行其他操作,代码如下:constloadScript=(url)=>{returnnewPromise((resolve,reject)=>{constscript=document.createElement('script')script.onload=()=>resolve(true)script.onerror=()=>resolve(fa......
  • js的书写位置
    行内<buttononclick="alert(’不好意思,密码错误哦‘)”>验证</button><ahref="javascript:alert(’不好意思,密码错误哦‘)">验证</a>button为按钮,可用于之后编写验证按钮注意:若要也行内,在div中注意要加onclick=“”      在a标签中要写在href里注意添加j......
  • NodeJS系列(15)- TypeScript (二) | 对象类型 (Object Types)
    在“NodeJS系列(14)-TypeScript(一)|安装TypeScript、常用类型”里,我们简单介绍了TypeScript的安装配置,讲解和演示了TypeScript常用类型。本文继续介绍TypeScript对象类型(ObjectTypes)。TypeScript:https://www.typescriptlang.org/(中文版:https://ts.nodejs.cn/)Micro......
  • NodeJS系列(14)- TypeScript (一) | 安装 TypeScript、TypeScript 常用类型
    JavaScript现在是有史以来最广泛使用的跨平台语言之一。JavaScript最初是一种用于向网页添加微不足道的交互性的小型脚本语言,现已发展成为各种规模的前端和后端应用的首选语言。虽然用JavaScript编写的程序的大小、作用域和复杂性呈指数级增长,但JavaScript语言表达不同代码......
  • JS脚本实现刷新页面,随机加载背景图片
    新建switch.js,内容如下: varimgs=[ "https://mlabs.gitee.io/pics/webp/tiankong002-mid.webp", "https://mlabs.gitee.io/pics/webp/wallhaven-gp1q87.webp", "https://mlabs.gitee.io/pics/webp/shanshui007sm......
  • js 拼接字符串带变量(js方法参数单双引号拼接的问题记录)
    小结:外面单引号,里面双引号,然后方法参数给转义的单引号即可(看下面的onClick事件即可)//刷新二级信号表格(增删改操作后)functionreloadSignal(subId){//清空$("#msgAll"+subId).empty();//js手工添加表格varhtmlStart='<spanstyle="posit......
  • window系统通过反向代理部署nodejs
       https://dev.to/petereysermans/hosting-a-node-js-application-on-windows-with-iis-as-reverse-proxy-397b ......
  • http://localhost:xxxxx/sockjs-node/info?t=1699323049868
    http://localhost:xxxxx/sockjs-node/info?t=1699323049868 sockjs-node是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。解决办法: 配置devServer,然后重启项目1.在vue.config.js中找到devServer中加入 host:'l......