Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将Socket.io与Heroku一起使用_Node.js_Heroku_Socket.io_Arduino - Fatal编程技术网

Node.js 将Socket.io与Heroku一起使用

Node.js 将Socket.io与Heroku一起使用,node.js,heroku,socket.io,arduino,Node.js,Heroku,Socket.io,Arduino,Javascript: var express = require('express') , app = express() , server = require('http').createServer(app) , io = require('../../lib/socket.io').listen(server) , dgram = require('dgram'); server.listen(5000); var client = dgram.cre

Javascript:

var express = require('express')
    , app = express()
    , server = require('http').createServer(app)
    , io = require('../../lib/socket.io').listen(server)
    , dgram = require('dgram');

server.listen(5000);

var client = dgram.createSocket('udp4');
var message = new Buffer("100 101 102");

app.use(express.static(__dirname + '/'));

io.sockets.on('connection', function(socket) {
    console.log("Server Connected");
    socket.on('message', function(data) {
        console.log(data);
        client.send(message, 0, message.length, 8888, '192.168.1.1')
    });
});
相关HTML:

$(window).load(function(){
    socket = io.connect('/');
    $(window).click(function() {
        sendData(100, 101, 102);
    });
});

function sendData(redVal, greenVal, blueVal) {
    socket.emit('message', redVal + " " + greenVal + " " + blueVal);
}
package.json:

{
    "name": "LEDControl",
    "description": "First attempt at mobile node.js and socket.io arduino control",
    "version": "0.0.1-6",
    "dependencies": {
        "express": "3.x",
        "socket.io": "~0.9.16"
    },
    "engines": {
        "node": "0.10.x",
        "npm": "1.3.x"
    }
}

我正在尝试通过socket.io将udp数据包发送到带有以太网屏蔽的Arduino。我在Heroku上运行这个。它在本地主机上运行良好,但当我尝试在Heroku上运行它时,它总是崩溃。问题似乎出在socket.io上。Websockets是Heroku的一项新功能,因此很难找到更多关于它的信息。我也在Nodejitsu上试过,得到了类似的结果。有人知道我做错了什么吗?现在只要我点击屏幕,它就会发送“100101102”。问题可能在于Arduino以太网屏蔽的局限性,我不确定。

您是否为您的应用程序启用了WebSocket(heroku实验室:enable WebSocket-一个应用程序名)?

是的,WebSocket已启用。