WebSocket 入门篇(一)

WebSocket 基础知识

1、WebSocket 实例化

      JavaScript中实例化            var ws = new WebSocket(url,protocols);

      实例化时可以接受两个变量

      1)、指向目标url,也就是服务请求的地址,url有两种方案:

               一、WS   非加密流量  例如:"ws://localhost:8080/echo"

               一、WSS 加密流量  例如:   "wss://localhost:8080/echo"

      2)、使用协议(可选参数):一、XMPP:可拓展消息处理现场协议。二、SOAP简单对象访问协议

 

2、WebSocket 事件

        var ws = new WebSocket("ws://localhost:8080/echo");

    1)open事件

         一旦服务器响应了WebSocket请求,open事件触发,建立一个连接,open事件对应的回调函数为 onopen

        ws.onopen = function (e) {

                writeToScreen("Connected !");

                doSend(textID.value);

        };

    2)message事件

         message事件在接收消息时候触发,接收来自服务器的数据,回调函数为onmessage

         ws.onmessage = function (e) {

               console.log("Connection Open ......");

        };

    3)error事件

          在响应故障时触发,回调函数onerror,错误还会导致WebSocket连接关闭,

         ws.error = function (e) {

                 console.log("WebSocket errror ......");

                 handerError();

        };

    4)close事件

        连接关闭时触发,回调函数onclose,一旦连接关闭,关闭的WebSocket服务不再接收和发送消息。

         ws.onclose = function (e) {

                console.log("Connection Closed:",e);

                       }

 

3、WebSocket 对象特性  readyState

       特性常量                           取值                       状态       

    WebSocket.CONNECTING       0                连接正在进行,但还未建立

    WebSocket.OPEN                    1                 连接已经建立,消息可以在客户端和服务端进行传递

    WebSocket.CLOSING              2                 连接正在进行关闭握手

    WebSocket.CLOSED                3                连接已经关闭,不能打开

    

4、WebSocket 方法

       1)send方法

            调用send(data) 向服务器端发送消息,

            注意:send方法只有在连接打开时候才可以发送数据,否则会抛出无效连接异常,发送案例

            function myEventHandler(data) {

                if (ws.readyState === WebSocket.OPEN) {   //判断连接是否有效
                        ws.send(data);
                } else {
                        // 无效可以进行重新连接
                }
           }
       
       1)close方法
            使用close(code,reson)方法,可以关闭WebSocket连接或者终止尝试连接,已经关闭则什么都不做,在调用close()之后,
            不能在已关闭的WebSocket上发送任何请求

            close方法有两个参数(通过两个参数,可以让服务器端知道为什么关闭连接)

           一、code :数字类型状态代码

           二、reson:文本字符串

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值