请问用workerman做大文件上传要怎么优化

jcy_tcp

目前根据文档上的一个二进制文件上传的例子来做一个tcp的文件上传,当传输几十兆的文件就出错了(服务端错误:error package. package_length=66032542,客户端:Notice: fwrite(): send of 8192 bytes failed with errno=10054 远程主机强迫关闭了一个现有的连接。)。我想把大文件分片上传,可又不知道思路。
不行的话,只有换成 http api $_FILES的形式,但是走tcp也应该可以,小弟太菜,还请大神指点

5021 1 0
1个回答

phpcreeper

[attach]2084[/attach]
这个案例我搞过,效果如图所示,支持大文件上传,支持断点续传等等,关键用到技术点有:
1、服务端使用官方的BinaryTransfer协议或者其他自定义协议均可;
2、大文件进行切片分块上传,PHP客户端要用到 fseek() 函数;
3、服务端每次收到连接消息后,都要通知客户端目前已经接收了多少数据量;

  • jcy_tcp 2019-06-04

    感谢大佬,已经申请加群了,还请给你位置

年代过于久远,无法发表回答
×
🔝