以下是一个简单的基于 Node.js 的聊天室:
- 创建一个
index.html文件,包含一个输入框和发送按钮:
<!DOCTYPE html>
<html>
<head>
<title>Chat Room</title>
</head>
<body>
<input type="text" id="message" placeholder="Type your message here...">
<button onclick="sendMessage()">Send</button>
<script>
function sendMessage() {
var message = document.getElementById('message').value;
socket.emit('message', message);
}
</script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
socket.on('message', function (message) {
console.log('Received message: ' + message);
});
</script>
</body>
</html>
- 创建一个
server.js文件,使用 Express 和 Socket.IO 创建服务器:
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
app.use(express.static(__dirname + '/public'));
io.on('connection', function (socket) {
console.log('A user connected');
socket.on('message', function (message) {
console.log('Received message: ' + message);
io.emit('message', message);
});
socket.on('disconnect', function () {
console.log('A user disconnected');
});
});
http.listen(3000, function () {
console.log('Server started on port 3000');
});
- 运行
server.js文件,启动服务器:
node server.js
- 打开浏览器,访问
http://localhost:3000,即可进入聊天室。
这个简单的聊天室示例使用 Socket.IO 实现实时通信,通过监听 message 事件来接收和发送消息。当用户连接和断开连接时,服务器会在控制台输出提示信息。