Socket.io为什么非常慢?

时间:2019-09-18 08:02:45

标签: node.js websocket socket.io filereader

我正在尝试从文件中读取数据,如下所示,并将数据发送到客户端。

我可以在30秒内发送20MB文件。但是我必须每秒发送20MB。

我做错什么了吗?

Server.js

var File = require('File')
var FileReader = require('filereader'), fileReader = new FileReader();
fileReader.setNodeChunkedEncoding(true || false);
fileReader.readAsArrayBuffer(new File('../Test.txt'));

fileReader.addEventListener('load', function (ev) {
  JsonData = JSON.stringify(new Int16Array(ev.target.result));
});


var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);

io.on('connection', function(socket){
    console.log('a user connected');
    console.log("DateTime : " + getDateTime()); 

    socket.on("update", function(data){
      console.log("DateTime : " + getDateTime());
      socket.send(JsonData);
    });

    socket.send(JsonData);

  socket.on('message', function(msg){
    console.log('message: ' + msg);
  });

  socket.on('disconnect', function(){
    console.log('user disconnected');
  });
});

http.listen(9099, function(){
  console.log('listening on *:9099');
});

Client.js

var socket = io("http://localhost:9099");
socket.on('message', function(message) {
   var JsonData = JSON.parse(message);
   socket.emit("update", { data:"getData"});
});

Socket.io版本:2.2.0

文件阅读器版本:0.10.3

NodeJS版本:10.16.3

0 个答案:

没有答案
相关问题