当前位置: 首页 > 知识库问答 >
问题:

Raspberry Pi上的NodeJSsocket.io似乎无法正常工作

经伟
2023-03-14

我对nodeJS…和编程是新手。但我试图让这段代码工作,我无法理解为什么它似乎不起作用。更糟糕的是,我也不知道如何排除故障。如果我使用控制台。日志语句,我可以看到,一旦我启动网页,它就会连接,但网页从未从nodeJS服务器收到消息,服务器也从未从网页收到消息。我正在使用Chrome浏览器。

服务器.js:

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

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

app.get('/', function (req, res) {
    res.sendfile(__dirname + '/index.html');
});

var SerialPort = require('serialport');
var portName = process.argv[2];
var sp = new SerialPort(portName, {
        baudRate: 9600,
        dataBits: 8,
        parity: 'none',
        stopBits: 1,
        flowControl: false
    });

io.sockets.on('connected', function (socket) {
    socket.emit('connected', {
        data: 'connected'
    });

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

        //Code
        console.log('Sending Packet. Contents:');
        sp.write(packet);
        console.log(packet);
        console.log('Packet Sent');
    });
});

我从命令提示符在树莓pi zero w上启动它:

sudo node server.js /dev/ttyACM0

index.html引用interface . js。interface . js的顶部:

$(document).ready(function() {
    // Connect to the node.js server. Gets server's local ip.
    // Using this method robot can only be connected to on
    // local network. 
    var ip = location.host;
    var socket = io.connect(ip); // Connects to server
    // Upon establishing a connection to the socket.io server...
    socket.on('connected', function (data) {
        console.log(data);
        // Send out a message to the server
        socket.emit('connected', { command: 'nothing' });
    });

当我在interface.jsconsole.log陈述时,我会得到它们,直到socket.on陈述。

节点 -v v6.4.0 npm -v 5.3.0 npm 列表 socket.io socket.io@2.0.3 uname -m armv6l

编辑:更新了消息传递命令。同样的问题。而且

共有1个答案

徐欣德
2023-03-14

结果是我的socket.io.js版本不对。那是一周的学习。谢谢你的帮助。

 类似资料:
  • 问题内容: 我正在尝试通过检查golang TCPConn.Write返回的错误来检测发送失败,但它为nil。我也尝试使用TCPConn.SetWriteDeadline,但没有成功。 事情就是这样发生的: 服务器启动 客户端连接 服务器发送一条消息,客户端收到它 客户端 关闭 服务器再发送一条消息:没有错误 服务器发送第三条消息:仅现在出现错误 问题 :为什么只有第二条消息发送给不存在的客户端会

  • 我在Spark上使用Python时遇到问题。我的应用程序有一些依赖项,如numpy、pandas、astropy等。我无法使用virtualenv创建具有所有依赖项的环境,因为集群上的节点除了HDFS之外没有任何公共挂载点或文件系统。因此,我一直坚持使用。我将站点包的内容打包在一个ZIP文件中,并使用

  • 这是我第一次涉足AES加密和OpenSSL。我设法得到了一些加密和解密的例子,但它们似乎无法正常工作。例如,在加密函数中: 这将生成一个真正的“加密”文件,它还不错,但并不完全是它应该的样子(或者我认为是这样)。如果我从openssl运行cli命令来加密同一个文件,我会得到一个文本文件,其中写有加密的字符串。我的函数生成的是一个文件,不是文本(实际上它说它是未知格式)。 第二个,解密: 在这个函数

  • 问题内容: 我正在使用codeigniter 3.1。我想使用ajax发布上传数据。 Ajax上传文件不起作用。但是,当我发布不带ajax的简单表单时,它工作正常。 我不知道为什么,但控制台没有错误。 的HTML JAVASCRIPT 控制器 问题答案: 问题之一是文件上传使用的机制与其他表单类型不同。这就是为什么没有为您完成工作的原因。其他答案建议使用javascript,而这个答案也可以。 的

  • 我正在开发新的web,我想使用ArcGIS javascript API4使用WMTS服务 选择空间参考EPSG:25830时,Javascript API 4.11中的WMTSLayer似乎不起作用。 问题是API生成的请求不正确,Tilerow参数错误。 正在发送的请求是这样的。http://www.ign.es/wmts/ign-base?SERVICE=WMTS 而且一定是... http

  • 问题内容: 我试过在Windows 7上安装docker(使用boot2docker)。但是控制台只是突然存在,我看不到错误,更不用说运行任何命令了。 在安装过程中,我尝试安装和不安装VirtualBox。我也尝试卸载并重新安装docker和virtualbox。似乎没有任何作用。 这是我运行时看到的控制台错误: 问题答案: 请检查您的BIOS的VT-x设置。根据您提供的日志,有一个错误: