Javascript 套接字io实现,获取TypeError(“侦听器”参数必须是函数

Javascript 套接字io实现,获取TypeError(“侦听器”参数必须是函数,javascript,websocket,socket.io,Javascript,Websocket,Socket.io,我正在尝试用angular Js项目实现Socket IO。我是新手,请帮忙 这是我的server.js文件 我已经从socket.io-client复制了socket.io.js文件,并将其放在我的lib文件夹中。因此,我的index.html已经 <script src="lib/js/socket.io.js"></script> //all other includes required <body> //code here </bo

我正在尝试用angular Js项目实现Socket IO。我是新手,请帮忙

这是我的server.js文件

我已经从socket.io-client复制了socket.io.js文件,并将其放在我的lib文件夹中。因此,我的index.html已经

<script src="lib/js/socket.io.js"></script>
//all other includes required

<body>
     //code here
</body>

//所需的所有其他费用
//代码在这里
这是我在执行nodemon server.js时看到的错误

[nodemon] starting `node server.js`
events.js:216
    throw new TypeError('"listener" argument must be a function');
    ^

TypeError: "listener" argument must be a function
    at _addListener (events.js:216:11)
    at Namespace.addListener (events.js:275:10)
    at Server.(anonymous function) [as on] 
 (D:\SocketIOExperiment\ProjExperiment\node_modules\socket.io\lib\index
 .js:456:29)
at Object.<anonymous> 
(D:\SocketIOProject\SmartAdminExperiment\server.js:11:4)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
  [nodemon] app crashed - waiting for file changes before starting...
[nodemon]正在启动`node server.js`
events.js:216
抛出新的TypeError(“'listener'参数必须是函数”);
^
TypeError:“listener”参数必须是函数
at_addListener(events.js:216:11)
位于Namespace.addListener(events.js:275:10)
在服务器上。(匿名函数)[as on]
(D:\SocketIOExperiment\projeexperiment\node\u modules\socket.io\lib\index
.js:456:29)
反对。
(D:\SocketIOProject\SmartAdminExperiment\server.js:11:4)
在模块处编译(Module.js:570:32)
在Object.Module.\u extensions..js(Module.js:579:10)
在Module.load(Module.js:487:32)
在tryModuleLoad时(module.js:446:12)
在Function.Module.\u加载(Module.js:438:3)
位于Module.runMain(Module.js:604:10)
[nodemon]应用程序崩溃-正在等待文件更改,然后再启动。。。

代码上的小错误。请尝试以下操作:

var express = require('express');
var path = require('path');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var port = 8080;

app.use(express.static(path.join(__dirname, "app")));

io.on(('connection'), function(socket){
    console.log('new connection made');
})

server.listen(port, function(){
    console.log('Listening to port '+ port);
})

记住,io.on(event,cb)是一个函数调用,它将cb函数注册到事件中。

代码中的小错误。请尝试以下操作:

var express = require('express');
var path = require('path');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var port = 8080;

app.use(express.static(path.join(__dirname, "app")));

io.on(('connection'), function(socket){
    console.log('new connection made');
})

server.listen(port, function(){
    console.log('Listening to port '+ port);
})

记住,io.on(event,cb)是一个将cb函数注册到事件的函数调用。

非常感谢您。你是个救命恩人,真是太感谢你了。你是个救生员