websocketjs

    1.1.3 • Public • Published

    websocket

    GitHub issues GitHub forks GitHub stars

    ws 对象提供了建立、管理 WebSocket 服务器的握手连接的 API,它也有在连接中传送、接收数据的能力。

    下载

    # bower 下载
    bower install websocket
    
    # npm 下载
    npm install websocketjs
    

    测试

    进入 websocket 根目录 在命令行中运行 grunt 会输出下面内容,127.0.0.1:8080 是打开 index.html 页面, ws://127.0.0.1:3001

    同时自动压缩 websocket.js

    --WebSocket-------------
    WebSocket address: ws://127.0.0.1:3001
    WebSocket has started.
    --Server----------------
    Server address: http://127.0.0.1:8080
    Server running... press ctrl-c to stop.
    Server has started.
    ------------------------
    

    接口调用

    将原生websocket调用 socket = new WebSocket(url,protocol) 更换成 socket = new ws(url,protocol)

    var socket,url='ws://127.0.0.1:3001';
    //原生websocket使用换成下面 ws 方法
    socket = new WebSocket(url);
    //换成了ws 方法之后,下面的事件才有作用
    socket = new ws(url);

    readyState

    readyState 属性使用以下常数描述 WebSocket 的连线状态。

    socket.readyState //=>1
    常数 描述
    CONNECTING 0 连接尚未打开。
    OPEN 1 连接已打开,可以进行通讯。
    CLOSING 2 连接正在进行关闭程序。
    CLOSED 3 连接已关闭/连接不能打开。

    onopen

    连接成功会执行这个事件

    onmessage

    接收websocket推送过来的消息

    onconnecting

    这是个监听事件,当连接开始尝试进行,事件监听器被调用。

    onclose

    websocket关闭会执行这个事件

    send

    通过websocket向后端发送消息。

    close

    关闭 WebSocket 连接/连接尝试,若连接已为 CLOSED,此方法沒有作用。

    socket.close(1000,'kiki');

    code 可选

    表示状态码,状态代码用以解释连接关闭的原因。弱未指定参数,预设值为1000(表示正常的「事物完结 transaction complete 」关闭),参考 CloseEvent 页面的 状态码列表,有所有的合法状态码值。

    reason 可选

    解释连接断开的原因人类可读字符串,字符串不可大于 123 个 UTF-8 字符串

    完整例子

    var socket = new ws('ws://127.0.0.1:3001'),
        str = "JSLite.io";
     
    socket.onconnecting = function(evn){
        console.log("socket:onconnecting:",evn);
        // sendMsg("wcj");
        
    }
    socket.onopen = function(evn){
        console.log("socket:onopen:",evn);
        log('发了个消息!"'+str+'"');
        sendMsg(str);
        
    }
    socket.onclose = function(evn){
        console.log("socket.onclose:",evn);
        log('WebSocket 被你关闭了!,您老人家再也没有办法建立连接了?');
        
    }
    socket.onmessage = function(evn){
        console.log("socket:onmessage:",evn);
        log('收到消息!"'+evn.data+'"');
        // socket.close()
        
    }
     
    function sendMsg (str) {
        console.log("socket:sendMsg:",socket);
        socket.send(str);
    }

    开发测试

    npm start

    Install

    npm i websocketjs

    DownloadsWeekly Downloads

    9

    Version

    1.1.3

    License

    MIT

    Unpacked Size

    23.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • wcjiang