当前位置: 首页 > news >正文

赣州兼职网站建设四川采集app

赣州兼职网站建设,四川采集app,免费出装修效果图,字体怎么下载到wordpress最近在学习go websocket的时候#xff0c;在学习实验过程遇到一个比较奇怪问题。为什么我的数据返回是blob#xff0c;而不是arrayBuffer#xff1f;百思不得其解。 直到同事打包的时候微信小游戏遇到了一个报错。FileReader不支持。 经过在社区查询#xff0c;官方答复是…最近在学习go websocket的时候在学习实验过程遇到一个比较奇怪问题。为什么我的数据返回是blob而不是arrayBuffer百思不得其解。 直到同事打包的时候微信小游戏遇到了一个报错。FileReader不支持。 经过在社区查询官方答复是支持只是arraybuffer /string。那样在coco creator 调试的时候为什么返回的是blob 而在微信的开发工作发现返回是Arraybuffer。 1.问题实验追踪 在今晚我尝试做了一个实验在结合gpt 交流发现一个问题。首选我们以这样一个小案例进行实验。监听8080的端口然后返回的时候进行打印。 !DOCTYPE html html langen headmeta charsetUTF-8titlewebSocket 返回类型问题/title /head body script typetext/javascriptconst socket new WebSocket(ws://localhost:8080);socket.onmessage (event) {if (event.data instanceof ArrayBuffer) {// 返回ArrayBuffer数据const arrayBuffer event.data;// 打印二进制数据console.log(接收的二进制数据:, arrayBuffer);}}; /script /body /html在第一次返回的时候监听这个数据返回类型是Blob。的确是Blob类型。 好进行第二次的设置修改上述的代码加入了一个属性。 socket.binaryType “arraybuffer”; 设置返回类型。 !DOCTYPE html html langen headmeta charsetUTF-8titlewebSocket 返回类型问题/title /head body script typetext/javascriptconst socket new WebSocket(ws://localhost:8080);socket.binaryType arraybuffer; //加入binaryType 指定返回类型socket.onmessage (event) {if (event.data instanceof ArrayBuffer) {// 返回ArrayBuffer数据const arrayBuffer event.data;// 打印二进制数据console.log(接收的二进制数据:, arrayBuffer);}}; /script /body /html然后再次查看返回数据结果返回的类型变化了。猜测是只要设置了就能够返回指定数据。在没有设置类型的时候默认是Blob类型。 看似简单的一个问题没有留意就突然不知道怎么解释。以下为go测试代码。通过这样快速检测数据则可以指定对应类型返回。 package mainimport (fmtgithub.com/gorilla/websocketlognet/http )var upgrader websocket.Upgrader{CheckOrigin: func(r *http.Request) bool {return true}, }func main() {http.HandleFunc(/, onMessage)err : http.ListenAndServe(:8080, nil)if err ! nil {log.Fatal(err)} }func onMessage(w http.ResponseWriter, r *http.Request) {conn, err : upgrader.Upgrade(w, r, nil)if err ! nil {fmt.Println(err)return}defer conn.Close()data : make([]byte, 2)data[0] 1data[1] 2//发送 给客户端err conn.WriteMessage(websocket.BinaryMessage, data)if err ! nil {fmt.Println(err)return} } 当h5 返回的是Blob的时候应该如何读取改造一下读取方式。采用FileReader的方式进行读取。这样就可以满足到2种类型处理了。 !DOCTYPE html html langen headmeta charsetUTF-8titlewebSocket 返回类型问题/title /head body script typetext/javascriptconst socket new WebSocket(ws://localhost:8080);//socket.binaryType arraybuffer; //加入binaryType 指定返回类型socket.onmessage (event) {if (event.data instanceof ArrayBuffer) {// 返回ArrayBuffer数据const arrayBuffer event.data;// 打印二进制数据console.log(接收的二进制数据:, arrayBuffer);}else if(event.data instanceof Blob){readBlob(event.data)}};function readBlob(blob){const reader new FileReader();reader.onload (event) {// 获取读取的结果const result event.target.result;if (result instanceof ArrayBuffer) {const arrayBuffer result;// 打印二进制数据console.log(接收的二进制数据:, arrayBuffer);} else {console.error(Failed to read Blob as ArrayBuffer.);}};reader.readAsArrayBuffer(blob);} /script /body /html同理这样可以解析到一个问题。数据返回需要设置一下就能返回指定的类型在没有指定的时候就默认是Blob。而刚碰见微信小游戏不支持FileReader引发报错而微信小游戏返回是直接ArrayBuffer。 这样就能解释并非引擎的问题。只是一个属性参数忘记设置导致的。 好了。今晚实验到此为止。
http://www.yutouwan.com/news/466248/

相关文章:

  • 瑞安网站建设优化网站快照是什么
  • 为何只有建设银行网站打不开联系方式 响应式网站
  • 网站 概念设计如何进行网页设计和网站制作
  • 物流网站设计易购商城网站怎么做啊
  • 医疗器械网站建设方案景点网站应该怎么做
  • 网站上传 文件夹结构推广类电商文案
  • 建设l旅游网站目的及功能定位wordpress中front-page
  • 做网站手机号抓取的公司公司注册资金要求
  • 怎样做婚庆网站移动端模板 wordpress
  • 网站模板 源码之家广州冼村为什么有钱
  • 有专门做英文字幕的网站吗学校网站建设成功案例
  • 洛阳网站推广公司给网站做引流多少钱
  • 企业网站系统的设计与开发教程重庆新闻论坛
  • 东圃手机网站制作费用企业网站页面设计
  • 找人帮忙做网站vps网站打开需要身份验证
  • 动态型网站建设哪里便宜亳州电商网站建设
  • 企业信息型网站有哪些忻州推广型网站开发
  • 加强网站互动交流平台建设自查东莞官方网站设计
  • 网页与网站设计实验报告企业网站建设属于什么费用
  • 做网站赚钱有哪些途径html注册登录界面代码
  • 建设电子商务网站的好处网站开发 .net
  • 福建:网站建设网站的图片要会员才能下载怎么做
  • 影视网站建设源码网站建设公众号管理
  • 如何在网站网站做代理潍坊网页模板建站
  • 广州市官网网站建设平台外贸公司倒闭的多吗
  • h5制作工具免费版济南网络优化网站
  • vs做网站添加背景辽宁省建设工程交易网
  • 网站加载速度影响因素辽宁建设工程信息网官网查不良行为
  • wordpress登录qq微信登录中山百度推广优化排名
  • 红色文化网站建设wordpress主题雪人yeti1.9.2