WebSocket菜鸟教程

WebSocket菜鸟教程

看到这想必你了解了webscoket,基本文档原理就不提了!


这张图你能看明白吗?不能没事还有一张更简单的

搞懂这个图很关键,我们与人聊天不是在面对面聊天,其实在于服务器聊天,传统的http是客户端发起请求服务器响应请求,重点是服务器无法给客户端发起请求websocket说白了就是解决这个问题,第一张图轮询是每隔一段时间客户端就向服务器发起请求有没有小明发过来的问话,没有就再隔一段事件再问,这会造成服务器压力很大!!!

前言

手把手撸websocket,最近有需求需要用到websouket,之前没有接触完全小白,百度查资料很多,但是很无厘头(我是菜鸟)接下来一步一步代码完全搞定websocket到底是什么玩意,怎么实现服务器,对完全一点不了解这玩意一类同学会有很大帮助,比如我!

二、代码案例

1.html

简单直白在html中创建一个输入框,按钮,盒子

    <!-- 输入内容 --><input type="text" name="" id="" placeholder="请输入内容"><!-- 发送请求 --><button>发送</button>   <!-- 接收websocket服务得数据 --><div></div>

给盒子一个简单样式

   <style>div{width: 300px;height: 200px;border: 1px solid #000;margin-top: 20px;}</style>

2.js部分

// 'ws://echo.websocket.org/'这个服务地址是websocket官方文档中的地址
// 不用纠结,后面下一个案例会把他换成自己的
这里只要是了解怎么个过程

  <script>var input=document.querySelector('input')var button=document.querySelector('button')var div=document.querySelector('div')// 'ws://echo.websocket.org/'这个服务地址是websocket官方文档中的地址// 不用纠结,后面下一个案例会把他换成自己的// 创建websocket服务地址const socket=new WebSocket('ws://echo.websocket.org/') // 当与服务器连接成功出发open事件(websocket四大基本事件https://www.runoob.com/html/html5-websocket.html)socket.addEventListener('open',function(){div.innerHTML='连接服务器成功'})button.addEventListener('click',function(){var value=input.valueconsole.log(value);socket.send(value)})socket.addEventListener('message',function(e){div.innerHTML=e.data})</script>

这边省略一个关闭服务事件下个文章会写出来

该处使用的url网络请求的数据。


总结

创建完成会显示连接服务器成功

在input输入框中输入文字会在盒子中显示这样,基本的websocket服务器就能接收数据与发送数据了

下一篇文章会简单实现自己的websocket服务器,多窗口显示数据案例

WebSocket菜鸟教程相关推荐

  1. websocket菜鸟教程(1.1)

    创建自己的websocket服务 先了解node.js websocket 的基本使用https://www.npmjs.com/package/nodejs-websocket 第一步先安装 npm ...

  2. WebSocket菜鸟教程二

    websocket服务器,多窗口显示数据案例 //注意事项//1.因为WebSocket存在一段时间后自动断开链接的问题,故采用每次读写操作都重新链接的方式://2.服务端总链接数量有限,因此每次重新 ...

  3. Java菜鸟教程笔记

    参考:http://www.runoob.com/java/java-tutorial.html Java 基本数据类型 内置数据类型 引用类型 Java 变量类型 Java 局部变量 实例变量 类变 ...

  4. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  5. JS实例学习笔记——w3cschool+菜鸟教程

    基础实例--w3cschool write() document.write("this is a string");//生成普通文本 document.write("& ...

  6. html class 位置,HTML class 属性 | 菜鸟教程

    HTML class 属性 实例 在 HTML 文档中使用 class 属性: 菜鸟教程(runoob.com) h1.intro {color:blue;} p.important {color:g ...

  7. python3菜鸟教程中文-我的python学习方法和资源整理,干货分享

    怎么自学python 现在是真正的干货开始了 我实习的时候,python完全零基础,我看的第一个入门资料是一个视频教程,我觉得非常不错,分享给大家 Python教程_400集Python从入门到精通教 ...

  8. 菜鸟教程python3-Python数据分析,学习路径拆解及资源推荐

    原标题:Python数据分析,学习路径拆解及资源推荐 关于Python数据分析,其实网上能够找到的学习资源很多,主要分为两类: 一类是提供各种资源的推荐,比如书单.教程.以及学习的先后顺序: 另一类是 ...

  9. python菜鸟教程官网绘图-NumPy Matplotlib

    NumPy Matplotlib Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 P ...

最新文章

  1. struts2导入excel模板_「微干货」“人员其他数据导入”应用介绍
  2. ABAP 如何实现屏幕字段不可输入
  3. 论文笔记 Aggregated Residual Transformations for Deep Neural Networks
  4. LeetCode 2156. 查找给定哈希值的子串(字符串哈希)
  5. tar包bz2和gz的对比
  6. 数据机构与算法:书籍介绍
  7. canoe知识点查阅
  8. Python中的无序集合(set)
  9. html地址栏传值问题
  10. DHCP原理及报文格式
  11. jsp余jspx的区别
  12. 中职计算机专业英语说课稿,中职英语说课稿模板.doc
  13. Tita绩效宝:2021年的绩效考核(下)- 绩效考核周期设置
  14. 对于java文件不能访问的情况分析
  15. Latex学习笔记 (5) 通用长度单位
  16. V2X主要用到什么技术?
  17. 汇总15位身份证号和18位身份证号的区别
  18. wps插入I,II,III类的页码
  19. 2022081班李亚楠20220926
  20. kali wifi不可用_Kali Linux系统解决无线网卡无法连接WIFI模块教程:

热门文章

  1. kali安装Aria2
  2. oracle p6 破解版下载,Primavera P6项目管理软件 16~17 图文详细安装教程(附下载)
  3. 总体设计启发性规则7条
  4. [代码审计]蝉知企业门户系统v7.7存在命令执行漏洞
  5. 游戏编程模式-空间分区
  6. 电子元器件图片、名称、符号,超全面+唯样商城
  7. *p++与*(p++)与(*p)++的区别
  8. 第01章-成本,你真的算对过吗?
  9. git修改代码后,如何再git pull而不覆盖修改的代码
  10. Impala SQL实现按天、自然周、月、季度、年份周期统计