WebSocket의 적용사례 분석과 실시간 통신
인터넷의 발달과 기술의 발전으로 다양한 응용분야에서 실시간 통신의 중요성이 더욱 커지고 있습니다. 전통적인 HTTP 기반 요청-응답 모델은 실시간 통신 요구 사항을 충족할 수 없는 경우가 많으므로 WebSocket이 새로운 프로토콜로 등장했습니다. WebSocket 프로토콜은 TCP를 기반으로 하며 클라이언트와 서버 간의 지속적인 연결 설정을 허용하여 전이중 실시간 통신을 달성합니다.
이 기사에서는 간단한 채팅방 애플리케이션을 통해 WebSocket 적용 사례를 분석하고 해당 코드 예제를 제공합니다.
// 引入依赖 const app = require('http').createServer(); const io = require('socket.io')(app); // 监听指定端口 app.listen(3000, () => { console.log('Server started on port 3000'); }); // 处理连接事件 io.on('connection', (socket) => { console.log(`User connected: ${socket.id}`); // 处理接收到的消息 socket.on('message', (message) => { console.log(`Received message: ${message}`); // 广播消息给所有连接的客户端 io.emit('message', message); }); // 处理断开连接事件 socket.on('disconnect', () => { console.log(`User disconnected: ${socket.id}`); }); });
<!DOCTYPE html> <html> <head> <script src="/socket.io/socket.io.js"></script> <script> // 连接到服务器 const socket = io('http://localhost:3000'); // 处理接收到的消息 socket.on('message', (message) => { console.log(`Received message: ${message}`); // 更新页面显示 document.getElementById('messages').innerHTML += `<li>${message}</li>`; }); // 发送消息 function sendMessage() { const input = document.getElementById('input'); const message = input.value; // 发送消息给服务器 socket.emit('message', message); input.value = ''; } </script> </head> <body> <ul id="messages"></ul> <input type="text" id="input"> <button onclick="sendMessage()">发送</button> </body> </html>
위 코드에서 socket.emit
는 서버에 메시지를 보내는 데 사용되고, socket.on
은 서버로부터 메시지를 받아 업데이트하는 데 사용됩니다. 페이지 표시. socket.emit
用于发送消息给服务器,socket.on
用于接收服务器发来的消息,并更新页面显示。
node server.js
然后,在浏览器中打开http://localhost:3000
명령줄에 프로젝트 디렉터리를 입력하고 다음 명령을 실행하여 서버를 시작하세요.
rrreee
그런 다음 http://localhost:3000에서 채팅방 애플리케이션에 들어갑니다. 여러 사용자가 동시에 웹 페이지에 메시지를 보내 실시간 통신을 달성할 수 있습니다.
위의 사례를 통해 실시간 통신에서 WebSocket의 적용 장점을 확인할 수 있습니다. 기존 HTTP 요청-응답 모델과 비교하여 WebSocket은 지속적인 연결을 설정하고 실시간 양방향 통신을 달성할 수 있으므로 사용자 경험이 크게 향상됩니다.
위 내용은 WebSocket의 적용사례 분석 및 실시간 통신의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!