Python客户端到带有Socket.IO的nodeJS服务器

时间:2016-08-09 18:52:25

标签: python node.js websocket socket.io

我正在尝试将我的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();

1 个答案:

答案 0 :(得分:1)

Socket.io通信不是普通的websockets。您可能需要在python上实现socket.io客户端,以确保您发送的消息与socket.io协议兼容。像socketIO-client这样的东西,也许。