예전에는 http의 로컬 서비스 디버깅 인터페이스를 시작하기 위해 nodejs를 자주 사용했는데, 오늘은 websocket을 디버깅해야 하기 때문에 nodejs를 사용하여 로컬 서비스를 시작합니다. !
로컬 websocket 서비스를 시작하려면 nodejs-websocket이 필요하므로 먼저 노드 프로젝트를 초기화하겠습니다!
1. 터미널을 열고 먼저 js 파일을 만든 다음 npm init -y를 사용하여 패키지 관리를 초기화합니다. 이런 폴더가 생깁니다.
2. nodejs-websocket 설치: npm install nodejs-websocket
3. index.js에 코드 작성
// 引入nodejs-websocket
const ws = require('nodejs-websocket');
// 定义监听的host地址跟port端口
const host = '127.0.0.1',
port = 8000;
// 创建ws服务
const service = ws.createServer((conn) => {
// 定义测试数据
const data = ['消息1', '消息2', '消息3'];
conn.on('text', (message) => {
// 当收到消息的时候就开始定时推送
console.log('message', message);
setInterval(() => {
// 随机推送message里的内容
conn.sendText(data[(Math.random() * 2).toFixed(0)]);
}, 5 * 1000);
});
}).listen(port, host, () => {
console.log('service---connection---');
});
4. 성공 여부를 테스트하기 위해 html 페이지 작성
<script>
window.onload = () => {
if ('WebSocket' in window) {
// 创建websocket连接
let ws = new WebSocket('ws://127.0.0.1:8000');
// 成功连接的时候推送一条消息,此时服务端就可以开始推送数据了
ws.onopen = () => {
console.log('websocket链接成功---');
ws.send('success');
}
ws.onmessage = (message) => {
let data = message.data;
console.log('获取websocket消息-', data);
}
ws.onerror = () => {
console.error('websocket链接失败');
}
} else {
console.error('当前设备不支持websocket');
};
};
</script>
5. 터미널에 node index.js를 입력하여 서비스를 시작한 다음 index.html 페이지를 열어 연결이 성공했는지 확인하고 메시지 수신을 시작합니다.