小编Aur*_*ius的帖子

如何将 Socket.io 与 Next.js API 路由一起使用

Next.js 提供无服务器 API 路由。通过在./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>;
}
Run Code Online (Sandbox Code Playgroud)

还有一个 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');
}
Run Code Online (Sandbox Code Playgroud)

但我不能让客户端连接到服务器Socket.io成功地和看不到任何的:'onconnection' …

socket.io next.js

22
推荐指数
1
解决办法
1万
查看次数

标签 统计

next.js ×1

socket.io ×1