当前位置:  开发笔记 > 编程语言 > 正文

io.on不是一个功能

如何解决《io.on不是一个功能》经验,为你挑选了1个好方法。

我有这个代码用于从我的Arduino接收数据,但我想将数据发送回我的A​​rduino并在我的客户端页面上获得响应.我添加了一个监听功能,但是io.on is not a function当我从客户端页面发送数据时,我一直在收听.

test.js

io.listen(app.listen(3000)).on('connection', function (client) {

    // store client into array
    clients.push(client);

    // on disconnect
    client.on('disconnect', function() {

        // remove client from array
        clients.splice(clients.indexOf(client), 1);


    });

    // I added this to listen for event from my chart.JS

    io.on('connection', function(socket){

        socket.on('LED on', function (data) {
            console.log(data);

        });
        socket.on('LED off', function (data) {
            console.log(data);

        });
    });
});

jfriend00.. 11

你的价值io不是应该的.

通常的做事方式是这样的:

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

app.listen(80);

io.on('connect', ...);

但我猜你的价值io是这样的:

var io = require('socket.io');

那不是一回事.这是模块句柄.但是,当你这样做的时候:

var io = require('socket.io')(app);

然后,io是一个socket.io实例.您可以将侦听器绑定到实例,而不是绑定到模块句柄.


在此doc页面上的每个socket.io服务器端示例中,它们使用以下形式之一:

var io = require('socket.io')(app);
var io = require('socket.io')(port);
var io = require('socket.io')(server);

有了这个:

 io.on('connection', ....);

他们无处可做:

var io = require('socket.io`);
io.listen(server);
io.on('connection', ....);

这只是错误的价值io.


长篇故事,缩短,您需要修复您分配的内容以io与文档保持一致.它的返回值为require('socket.io')(app);您提供了一个socket.io实例对象,然后您可以在其上设置事件处理程序.



1> jfriend00..:

你的价值io不是应该的.

通常的做事方式是这样的:

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

app.listen(80);

io.on('connect', ...);

但我猜你的价值io是这样的:

var io = require('socket.io');

那不是一回事.这是模块句柄.但是,当你这样做的时候:

var io = require('socket.io')(app);

然后,io是一个socket.io实例.您可以将侦听器绑定到实例,而不是绑定到模块句柄.


在此doc页面上的每个socket.io服务器端示例中,它们使用以下形式之一:

var io = require('socket.io')(app);
var io = require('socket.io')(port);
var io = require('socket.io')(server);

有了这个:

 io.on('connection', ....);

他们无处可做:

var io = require('socket.io`);
io.listen(server);
io.on('connection', ....);

这只是错误的价值io.


长篇故事,缩短,您需要修复您分配的内容以io与文档保持一致.它的返回值为require('socket.io')(app);您提供了一个socket.io实例对象,然后您可以在其上设置事件处理程序.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有