3、客户端给服务端发消息和服务端主动推送消息
程序员文章站
2022-03-10 12:16:42
...
index.html
<!--
客户端
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
/**
* 这里我们创建一个WebSocket,里面填上服务端连接及端口号
* ws 表示它的协议
*
*/
var ws = new WebSocket('ws://localhost:2333');
/**
* 当链接建立的时候,它有一个onopen事件
*/
ws.onopen = function(){
// 客户端发送信息给服务端
ws.send('来自客户端的信息');
}
/**
* 客户端接受服务端的消息
*/
ws.onmessage = function(e){
console.log(e.data);
}
</script>
</body>
</html>
app.js
/**
* 服务端
*/
/**
* 1 将nodejs-websock包引进来
*/
var ws = require('nodejs-websocket');
/**
* 2 创建一个WebSocket服务,建立TCP连接,
* conn就是连进来的连接
* server 监听2333端口
*/
var server = ws.createServer(function(conn){
console.log('New connection'); // 表示新的连接进来了
/**
* conn绑一个text事件,并接受一个回调
*/
conn.on('text', function(str){
console.log(str);
});
/**
* 等待5秒 主动给客户端推送一条消息
*/
setTimeout(function(){
// 给客户端发送消息
conn.sendText('来自服务端的消息');
},5000);
}).listen(2333);
运行程序,点击【调试】,【启动调试】
打开页面,等等5秒