我现在花了太多时间在这上面并且无法得到解决方案。
我有一个节点服务器运行完美(非常基本)但工作并且有可以连接和使用服务器的网页。
但我现在需要做的是从基于debian的Raspberry pi运行一个使用Node的JS文件,它可以连接到我现有的节点服务器。
这是可能的还是我对节点的理解不正确。
这是我的基本服务器
@Results({
@Result(name = ActionSupport.SUCCESS, type="httpheader", params = {"status", "200"}),
@Result(name = ActionSupport.ERROR, type="httpheader", params = {"error", "500"})
})
public class IsDownloadFinished extends ActionSupport implements SessionAware {
@Setter private Map session;
public String execute(){
if ("finished".equals(session.get("DOWNLOAD_STATUS")) {
session.remove("DW_STATUS");
return SUCCESS;
}
return ERROR;
}
}
这就是我期望通过cmd line 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');
甚至可能吗?我有服务器工作,但是如果我能得到一个js文件,我可以在cmd行运行连接,该死的。
任何帮助都会有很大的帮助。
顺便说一句。 socket.io示例都与连接到我已经在做的服务器的网页有关。
答案 0 :(得分:1)
您需要使用 socket.io-client 连接到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" });
});