websocket--简易版

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端
WebSocket协议提供了一个用来替代HTTP轮询实现网页到远程主机的双向通信的方法。
但是服务器端没有标准的api, 使用websocket开发服务器端有一定的风险.可能会被锁定在某个平台上或者将来被迫升级。

一、搭建环境(node环境下)
命令:npm install nodejs-websocket
https://github.com/sitegui/nodejs-websocket

二、运行

var ws = require("nodejs-websocket");//引进模块

var PORT = 3000;
// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
    //回调
    console.log("New connection");
    conn.on("text", function (str) {
        console.log("Received "+str)
        // conn.sendText(str.toUpperCase()+"!!!")
        //大写返回的输入的字符
        // conn.sendText(str.toUpperCase()+"!!!")
        conn.sendText(str)
    });
    conn.on("close", function (code, reason) {
        console.log("Connection closed")
    });
    conn.on("error", function (err) {
        console.log("handle err");
        console.log(err);
    })
}).listen(PORT);

console.log("websoket server listening on port"+PORT);
//创建服务

cmd 环境,找到根目录
node + 文件名

三、页面内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>websocket--简易版</title>
</head>
<body>
<input type="text" id="txt">
<input type="button" id="btn" value="send">
<p id="rec"></p>
<script>
    var websocket = new WebSocket("ws://localhost:3000");//

    websocket.onopen = function () {
    //开启
        console.log("websocket open");
        document.getElementById("rec").innerHTML = "connected";
    };

    websocket.onclose = function () {
    //关闭
        console.log("websocket close");
        document.getElementById("rec").innerHTML = "close";
    }

    websocket.onmessage = function (e) {
    //传输
        console.log(e.data);
        document.getElementById("rec").innerHTML = e.data;
    };

    document.getElementById("btn").onclick=function () {
        var txt = document.getElementById("txt").value;
        websocket.send(txt);//发送
    }
</script>
</body>
</html>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值