websocket大文件发送(分片传送思想)

websocket大文件发送(分片传送思想)目前的项目是在做一款带桌面共享的代码编辑器,其中需要一个发送大文件的功能,传统的node.js处理大文件就是用Buffer.slice(0.offset)的思路把文件分割开,然后通过tcp或udp分开发送。前端中处理二进制的有Blob,它也有slice的方法,也可以将文件拆分开。然后借助websocket发开发送,然后在客户端(注意不是服务端)将文件合并。有人说websocket可以直接发,但是他的大小受到限制,比如发200M的东西,就会出问题。而我的方案就不会存在问题.最主要的是在发送文件的同时也不会影响

大家好,又见面了,我是你们的朋友全栈君。

目前的项目是在做一款带桌面共享的代码编辑器,其中需要一个发送大文件的功能,传统的node.js处理大文件就是用Buffer.slice(0.offset)的思路把文件分割开,然后通过tcp或udp分开发送。前端中处理二进制的有Blob,它也有slice的方法,也可以将文件拆分开。然后借助websocket发开发送,然后在客户端(注意不是服务端)将文件合并。有人说websocket可以直接发,但是他的大小受到限制,比如发200M的东西,就会出问题。而我的方案就不会存在问题.最主要的是在发送文件的同时也不会影响到桌面共享的速度。

效果图:websocket大文件发送(分片传送思想)

 

下面是两个客户端发送和接受的代码:

   发送方:

核心方法如下,注意tp参数代表的是你上传的文件或者采用拖动传入的文件,类型是blob

function sendBig(tp){
	var pack_id="pk_"+Math.floor(Math.random()*100000);	
	var len=tp.size;
	var sz=[]; 
	kg=true;
	var k=0;
		 if(len>16*1024){
			var p=Math.ceil(len/(16*1024))
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157604.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下比较全面的监控工具dstat

    Linux下比较全面的监控工具dstat

    2021年9月2日
    44
  • 永久免费内网穿透很简单,一看就明白(长文)

    永久免费内网穿透很简单,一看就明白(长文)对于网络用户来说,一定都经历过出门在外无法直接在外网访问内网、或是难以部署异地远程桌面,因此心急如焚的情况;对于企业来说,无论是财务管理软件难以将分店信息同步到总部进行统计汇总、还是员工出差在外或在家里就不能访问企业内部办公系统,都极大地影响了公司整体效率;对于个人开发者来说,微信小程序或者在线支付系统等开发环境往往需要一个可以外部访问的公网环境进行调试,而大多数的企业网络都被运营商做了转发设置,…

    2022年6月22日
    141
  • centos7 kill程序进程_centos杀死进程命令

    centos7 kill程序进程_centos杀死进程命令经过搜集和整理相关的linux杀死进程的材料,在这里本人给大家推荐本篇文章,希望大家看后会有不少收获。1.kill作用:根据进程号杀死进程用法:kill[信号代码]进程ID举例:[root@localhost~]#psauxf|grephttpd注意:kill-9来强制终止退出举例[root@localhost~]#psaux|grepgaim或者[root@l…

    2025年11月27日
    3
  • Windows网络编程

    Windows网络编程

    2021年12月7日
    51
  • es6数组和对象常用方法

    es6数组和对象常用方法数组forEach()方法对数组的每个元素执行一次给定的函数。vararr=[1,2,3]arr.forEach((value,index)=>{console.log(‘数组值:’+value);console.log(‘数组索引:’+index);})map()方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。vararr=[1,2,3]vararr1=arr.map((value,in

    2022年5月26日
    49
  • 虚拟机iso镜像文件在哪_虚拟机系统镜像下载

    虚拟机iso镜像文件在哪_虚拟机系统镜像下载虚拟机windowsxpsp3原版原版的镜像:http://www.7xdown.com/Download.asp?ID=3319&URL=http://d5.7xdown.com/soft2/&file=WindowsXP-SP3-VOLMSDN.rar,直接复制进迅雷下载就可以。序列号:MRX3F-47B9T-2487J-KWKMF-RPWBY,激活密钥:MRX3F-4…

    2022年8月16日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号