0

我试图弄清楚如何将上传数据进度发送回客户端。似乎此事件执行了两次,并且带有先前的进度。

form.addListener('progress', function(bytesReceived, bytesExpected) {

            socket.sockets.on('connection', function(socket) {

                socket.emit('Uploaded', {
                    progress : (bytesReceived / bytesExpected * 100).toFixed(0)
                });
            });

        });
4

1 回答 1

0

您可以将 socket.io 连接 ID 与您的文件上传请求一起发送。您可以从客户端代码中获取它,如下所示:

var socketio = io.connect();
// more code here
// once connected you can access the following prop:
console.log(socketio.socket.sessionid);

在服务器端收到该socket.sessionid信息后,您可以查找连接并发出数据

io.sockets.socket(id).emit('uploaded', dataz);

希望这可以帮助。

于 2012-09-12T09:04:03.273 回答