客户端代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 200px;
height: 200px;
border: 1px solid black;
}
</style>
</head>
<body>
<input type="text" placeholder="请输入内容">
<button>发送</button>
<div></div>
<script>
var input = document.querySelector('input');
var button = document.querySelector('button');
var div = document.querySelector('div')
// 1.创建WebSocket对象
var socket = new WebSocket('ws://localhost:3000');
// 2.当和websocket服务连接成功的时候触发
socket.addEventListener('open',function(){
div.innerHTML = '连接服务成功了'
})
// 3.主动的给websocket服务发送消息
button.onclick = function(){
socket.send(input.value);
}
// 4.接收websocket服务的数据
socket.addEventListener('message',(e)=>{
div.innerHTML = e.data;
})
socket.addEventListener('close',()=>{
console.log('服务断开连接');
})
</script>
</body>
</html>
服务端代码
// 最开始要安装 在终端输入 npm install nodejs-websocket
// 1.导入nodejs-websocket
var ws = require('nodejs-websocket');
// 2.创建一个server
// 每次只要有用户连接,函数就会被执行,会给当前连接的用户创建一个connect对象
const server = ws.createServer(connect =>{
console.log("有用户连接上来了");
// 每当接收到用户传递过来的数据,这个text事件会被触发
connect.on('text', data => {
console.log("接受到了用户的数据",data);
// 给用户一个响应的数据
connect.send(data);
})
// 只要websocket连接断开,close事件就会触发
connect.on('close',()=>{
console.log('连接断开了');
})
// 注册一个error,处理用户的错误信息
connect.on('error',()=>{
console.log('用户连接异常');
})
})
server.listen(3000,()=>{
console.log('websocket服务启动成功了,监听端口3000');
})