[英]Unable to send file stream from NodeJS socketio server to python socketio client
[英]How to setup SocketIO connection to NodeJS websocket from Python client?
我有一個運行 socketio 的簡單 nodejs 服務器,我可以從 HTML 與客戶端進行兩種方式的通信。 現在我也在嘗試從 Python 腳本連接到同一個 nodejs websocket,但沒有連接。
簡化的 Node JS 網絡服務器:
var http = require('http').createServer(handler);
var fs = require('fs');
var io = require('socket.io')(http)
http.listen(8080);
function handler (req, res) {
fs.readFile(__dirname + '/public/index.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}
io.sockets.on('connection', function (socket) {
setInterval(() => {
socket.emit('temp', 'tempfromserver')
}, 1000)
});
想用websocket連接nodejs的Python腳本:
import socketio
sio = socketio.Client();
sio.connect('http://localhost:8080')
@sio.event
def message(data):
print('received message')
def connect():
print('socketio connected')
是否可以通過 socketio 將 websocket 連接到 nodejs 服務器? 如果是這樣,我做錯了什么?
最終目標是從樹莓派上的 python 腳本收集傳感器數據並發送到 nodejs 服務器,后者又將其保存到 DB 並發送到 HTMl 客戶端。 也許有更好的設置來做到這一點。
我相信我問過類似的問題並得到了答案。 我的設置有點不同,使用了 web-socket,但它至少允許你在 Node JS 和 Python 之間進行連接,然后也許你可以從那里構建, 使用 Socket IO 和 aiohttp 在節點 JS 和蟒蛇。 該設置最初也基於節點 JS 端的 html 腳本,因此這也有助於將其與您的設置進行比較。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.