开发者问题收集

无法读取未定义的属性“on”?-> 错误

2018-12-28
543

因此,我正在创建一个 Web 应用程序,并且在构建服务器部分时,由于 CMD 中的错误而陷入困境,错误信息如下:

     TypeError: Cannot read property 'on' of undefined

我尝试在 server.js 和 client.js 之间建立连接,但似乎不起作用,尽管我已经包含了所有需要的模块。

var fs = require('fs'); // required for file serving
var http = require('http');
var express = require('express');
var app = express();
var socket = require('socket.io');
var io = require('socket.io');

// loading all HTMl files

// loading CSS, JS, Pictues

//  for the HTML index 

// server.listen

//  !!! HERE IS THE PROBLEM !!!
 io.sockets.on('connection', newConnection);
 function newConnection(socket){
    console.log('new connection');
    console.log(socket);
 }

我希望我的 server.js 能够与 client.js 联系(其中没有写任何内容)并作为普通服务器运行!

非常感谢每一条建议!:)

3个回答

您需要将服务器对象传递到IO Initializer。以下代码可能会有所帮助:

954469780
Nayeemul Islam Swad
2018-12-28

您错误地初始化了 io 。请尝试以下操作:

var io = socket(http);
ThatBrianDude
2018-12-28

仅需要一个 require 语句。删除其中一个。

like

const io=require("socket.io");

io.on("conn",function(){
        console.log("New Connection");
})
Mukesh Fulwariya
2018-12-28