Javascript 您能否从另一台计算机上的命令行JS脚本连接到正在运行的Node JS服务器?
我已经花了太多的时间在这个问题上,现在无法得到一个解决方案 我有一个运行完美的节点服务器(非常基本),但可以正常工作,并且有可以连接和使用服务器的网页 但我现在需要做的是从一个基于debian的Raspberry pi运行一个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
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" });
});