问题描述
我有一个用于下载文件的服务器。服务器是用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 (将#修改为@)