案例一(需要安装nodejs-websocket插件)
var WebSocketServer = require('nodejs-websocket');
let server = WebSocketServer.createServer(connection => {
connection.on('text', function(result) {
console.log('发送消息', result)
})
connection.on('connect', function(code) {
console.log('开启连接', code)
})
connection.on('close', function(code) {
console.log('关闭连接', code)
})
connection.on('error', function(code) {
console.log('异常关闭', code)
})
}).listen(3000,()=>{console.log("服务启动成功")});
案例二
var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({ port: 3000 });
wss.on('connection', function (connection) {
console.log('client connected');
connection.on('text', function(result) {
console.log('发送消息', result)
})
connection.on('message', function (message) {
connection.send("向前台推送数据");
console.log(message);
});
});
前台
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script type="text/javascript">
var ws;
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("您的浏览器支持 WebSocket!");
// 打开一个 web socket
ws= new WebSocket("ws://localhost:3000");
ws.onopen = function()
{
console.log("1111")
// Web Socket 已连接上,使用 send() 方法发送数据
ws.send("发送数据");
alert("数据发送中...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("数据已接收...");
};
ws.onclose = function()
{
// 关闭 websocket
alert("连接已关闭...");
};
ws.onerror =function (evt)
{
console.log(evt);
};
}
else
{
// 浏览器不支持 WebSocket
alert("您的浏览器不支持 WebSocket!");
}
}
function WebSocketTes1t(){
ws.send("发送数据");
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">运行 WebSocket</a>
<a href="javascript:WebSocketTes1t()">发送</a>
</div>
</body>
</html>