最精简的 Websocket 实例

创建一个 HTML 文件,内容为:

<!DOCTYPE html>
<html>
  <header>
    <script>
      var ws = new WebSocket("ws://echo.websocket.org");
      ws.onopen = function() {
        ws.send("Test!");
      };
      ws.onmessage = function(ev) {
        console.log(ev.data);
        ws.close();
      };
      ws.onclose = function(ev) {
        console.log("WebSocketClosed!");
      };
      ws.onerror = function(ev) {
        console.log("WebSocketError!");
      };
    </script>
  </header>
  <body>
    <p>The Simplest Websocket Example</p>
  </body>
</html>

在浏览器里打开这个文件,结果如下:
在这里插入图片描述

解释如下:

脚本开始时创建一个WebSocket对象,参数是需要连接的服务器端的地址,同 http 协议使用 http:// 开头一样,WebSocket 协议的 URL 使用 ws:// 开头,另外安全的 WebSocket 协议使用 wss:// 开头。

当调用 new WebSocket(url) 接口时,浏览器就开始了与地址为 url 的 WebServer 建立握手连接的过程。

随后是 WebSocket 对象注册消息的处理函数,WebSocket对象一共支持四个消息

  • onopen
  • onmessage
  • onclose
  • onerror

当浏览器和 WebSocket 服务器连接成功后,会触发 onopen 消息;
如果连接失败,发送、接收数据 失败或者处理数据出现错误,浏览器会触发onerror消息;
当浏览器接收到 WebSocket 服务器发送过来的数据时,就会触发 onmessage消息,参数 ev 中包含服务器传输过来的数据;
当浏览器接收到 WebSocket 服务器端发送的关闭连接请求时, 就会触发 onclose 消息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值