我正在尝试将我的raspberry pi(在python 2.7.9中)中的值发送到带有socket.io的nodeJS服务器。
我的目标是通过websocket连接从我的pi连续发送许多值到我的节点服务器(本地),它应该获取值并在index.html上显示(对于其他客户端,如Web-Chat,其中只是覆盆子发送值)
我尝试了一切,但我无法握手并发送数据。当我在浏览器中打开“http://IP_ADDRESS:8080”时,我看到了一个连接,但没有看到我的python代码。
我需要一些帮助......
server.js
var express = require('express')
, app = express()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
, conf = require('./config.json');
// Webserver
server.listen(conf.port);
app.configure(function(){
app.use(express.static(__dirname + '/public'));
});
app.get('/', function (req, res) {
res.sendfile(__dirname + '/public/index.html');
});
// Websocket
io.sockets.on('connection', function (socket) {
//Here I want get the data
io.sockets.on('rasp_param', function (data){
console.log(data);
});
});
});
// Server Details
console.log('Ther server runs on http://127.0.0.1:' + conf.port + '/');
我的python websocket - 我只想发送值的代码
#!/usr/bin/env python
#
from websocket import create_connection
ws = create_connection("ws://IP_ADDRESS:8080/")
ws.send("Some value")
ws.close();
答案 0 :(得分:1)
Socket.io通信不是普通的websockets。您可能需要在python上实现socket.io客户端,以确保您发送的消息与socket.io协议兼容。像socketIO-client这样的东西,也许。