django中的socket.io-stream通道

问题描述

我有一个用于下载文件的服务器。服务器是用nodejs编写的,看起来像这样:

const express = require("express");
const http    = require("http");
const socketIO = require("socket.io");
const ss    = require("socket.io-stream");
const port  = 4001;
const index = require("./routes/index");
const fs    = require("fs");
var cors    = require('cors')

const app   = express();
app.use(cors());
app.use(index);

const server = http.createServer(app);
const io     = socketIO(server);

io.on("connection",(socket) => {
    console.log("New Client Connected");

    socket.on("download",(fileName) => {
        startStream(socket)(fileName);
    });

    socket.on("disconnect",() => {
        console.log("Client disconnected");
    });
});

const startStream = socket => fileName => {
    const file = `${__dirname}/public/${fileName}`;
    var stream = ss.createStream({allowHalfOpen: true});
    const { size } = fs.statSync(file);
    ss(socket).emit("filedownload",stream,{size} );
    
    var myFileStream = fs.createReadStream(file);
    myFileStream.pipe(stream);
}

server.listen(port,() => console.log(`Listening on port ${port}`));

它很好用,但是问题是它需要重写为Django-这就是为什么我在看Django频道的原因。 ' 但是我不确定Django通道是否真的可以这样做? 这里最重要的部分是socket.io-stream。我将如何在Django渠道中实现这一目标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)