简体   繁体   English

如何修复服务器端 socket.io 错误?

[英]How do I fix a server side socket.io error?

I have the following lines of code in my index.js file:我的 index.js 文件中有以下代码行:

    const express = require('express');
    const app = express();
    const server = require('http').Server(app);
    const io = require('socket.io').listen(server);

When I start my server with: node --inspect server/index.js当我启动服务器时: node --inspect server/index.js

I get: TypeError: require(...).listen is not a function.我得到:TypeError: require(...).listen is not a function。

Any and all help appreciated!任何和所有的帮助表示赞赏!

You need http server.您需要 http 服务器。 The correct way to start a socket server is,启动套接字服务器的正确方法是,

const express = require("express");
const http = require("http");
const app = express();
const server = http.createServer(app)
const socketio = require('socket.io')
const io = socketio(server);

io.on("connection", socket => {
    console.log("connected");
    socket.on("welcome", (data) => {
        console.log("welcome message", data);
    })
});
server.listen(3000, () => console.log(`listen on port ${port}`)) 

The client,客户端,

const io =  require("socket.io-client");
let socket = io.connect("http://localhost:3000");
socket.emit("welcome", "Hi");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM