Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript 您能否从另一台计算机上的命令行JS脚本连接到正在运行的Node JS服务器?_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript 您能否从另一台计算机上的命令行JS脚本连接到正在运行的Node JS服务器?

Javascript 您能否从另一台计算机上的命令行JS脚本连接到正在运行的Node JS服务器?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我已经花了太多的时间在这个问题上,现在无法得到一个解决方案 我有一个运行完美的节点服务器(非常基本),但可以正常工作,并且有可以连接和使用服务器的网页 但我现在需要做的是从一个基于debian的Raspberry pi运行一个JS文件,使用节点可以连接到我现有的节点服务器 这是可能的还是我对节点的理解不正确 这是我的基本服务器 var socket = require('socket.io'); var express = require('express'); var http = requi

我已经花了太多的时间在这个问题上,现在无法得到一个解决方案

我有一个运行完美的节点服务器(非常基本),但可以正常工作,并且有可以连接和使用服务器的网页

但我现在需要做的是从一个基于debian的Raspberry pi运行一个JS文件,使用节点可以连接到我现有的节点服务器

这是可能的还是我对节点的理解不正确

这是我的基本服务器

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

var app = express();
var server = http.createServer(app);

var io = socket.listen(server);


io.on('connection', function (client) {
    console.log('Connected');


    client.on('deviceevent', function (data) {
        io.sockets.emit('return',{ param1: data.param1, param2: data.param2, param3: data.param3 });
    console.log(data);
    });

    client.on('disconnect', function () {
    io.sockets.emit('user disconnected');
  });   
});


server.listen(3000);
console.log('Listening');
这就是我希望能够通过cmd行JS文件进行连接的方式

(这根本不起作用)

那么这有可能吗?我有服务器工作,但该死的,如果我能得到一个js文件,我可以运行在命令行连接

任何帮助都将不胜感激


顺便说一句,socket.io示例都与我正在连接服务器的网页有关。

您需要使用socket.io客户端来连接socket.io服务器

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

mysocket = io.connect('http://192.168.1.70:3000');

mysocket.on('connect', function(){
  mysocket.emit('deviceevent', { param1: "update", param2: "0", param3: "1" });
});

类似问题:

您需要第二台服务器。可能与Hello重复。谢谢你这么快的回答,但它引出了另一个问题。从何处获取socket.io-client。我应该用npm或apt get安装它吗。我在socket.io/node_modules/socket.io-client中有一个文件夹。我应该用这个吗?谢谢。您可以npm安装socket.io-client:)好的。谢谢你。您是正确的,它现在实际上正在向服务器发送连接,因为它正在将info-unhandled socket.io url写入屏幕。还有什么问题吗?也许版本不同?或者发送了错误的东西?不知道这是否意味着什么,但我的服务器上有v0.10.25节点,并且说它是最新的,我的客户端说它有v0.10.29,并且说它是最新的。这是怎么回事?请尝试安装socket.io 1.0 npm安装socket。io@1.0. 也许你有一个更老的版本(类似的问题)
var io = require('socket.io-client');

mysocket = io.connect('http://192.168.1.70:3000');

mysocket.on('connect', function(){
  mysocket.emit('deviceevent', { param1: "update", param2: "0", param3: "1" });
});