在使用 socket.io 进行网络通信时,可以通过配置 socket 服务器监听指定域名来接收来自客户端的连接请求。下面是一个例子:
javascript
const express = require('express');
const app = express();
const http = require('http').createServer(app);
const io = require('socket.io')(http);
// 设置监听域名
const DOMAIN = 'example.com';
// 监听客户端连接
io.on('connection', (socket) => {
console.log('a user connected');
// 处理客户端发送的消息
socket.on('chat message', (msg) => {
console.log('message: ' + msg);
io.emit('chat message', msg);
});
// 客户端断开连接
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
// 启动 HTTP 服务器
http.listen(3000, DOMAIN, () => {
console.log(`Socket.IO server running at http://${DOMAIN}:3000/`);
});
在上面的代码中,我们使用 `http.listen(3000, DOMAIN, () => {...})` 来指定服务器监听的域名为 `example.com`。这样,只有当客户端访问 `http://example.com:3000/` 时,才能与 socket.io 服务器建立连接。
需要注意的是,如果你的服务器没有绑定到指定的域名,那么客户端也无法连接到该服务器。因此,请确保您的服务器配置正确,并且该域名指向了您的服务器 IP 地址。
查看详情
查看详情