【发布时间】:2019-12-22 01:17:54
【问题描述】:
Next.js 提供serverless API routes。通过在./pages/api下创建一个文件,你可以让你的服务运行起来,我想通过这个机制来拥有一个Socket.io服务。
我已经创建了一个客户端:
./pages/client.js
import { useEffect } from 'react';
import io from 'socket.io-client';
export default () => {
useEffect(() => {
io('http://localhost:3000', { path: '/api/filename' });
}, []);
return <h1>Socket.io</h1>;
}
还有一个 API 路由:
./pages/api/filename.js
const io = require('socket.io')({ path: '/api/filename' });
io.onconnection = () => {
console.log('onconnection');
}
io.on('connect', () => {
console.log('connect');
})
io.on('connection', () => {
console.log('connection');
})
export default (req, res) => {
console.log('endpoint');
}
但我无法让客户端连接到 Socket.io 服务器并成功看到:'onconnection'、'connect' 或 'connection' 打印。
【问题讨论】: