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

国内常见的博客网站柠檬网络科技网站建设

国内常见的博客网站,柠檬网络科技网站建设,linux上安装wordpress,最好的直播软件有哪些android的JavaScript自动化软件用过Hamibot和AutoX.js 不过在向后端传输二进制数据时都有些限制#xff0c;不如浏览器前端那么自由。Hamibot的http按文档应该时能支持传字节数组#xff0c;但是实际上应该还没有支持。AutoX.js的http也是这样#xff0c;但是AutoX.js还支持…android的JavaScript自动化软件用过Hamibot和AutoX.js 不过在向后端传输二进制数据时都有些限制不如浏览器前端那么自由。Hamibot的http按文档应该时能支持传字节数组但是实际上应该还没有支持。AutoX.js的http也是这样但是AutoX.js还支持Websocket它的websocket模块采用okhttp3 实现模块中包含了okhttp3 核心所有的类而okhttp3支持发送String和ByteString而后者则是我心心念念的二进制数据传输功能。 为什么我纠结于直接传输二进制数据直接传文件或者将数据base64编码传到后端不简单么其实主要是效率考虑比如我使用截图在内存中可以得到image的字节数组如果传文件还得把image写入本地硬盘然后发送出去又得读一遍本地硬盘不是浪费了这两次IO么当然系统会带IO缓存耗时不一定会大。而转base64则编码效率比二进制至少低1/4(相当于8bit的数据只能编码成6bit的数据)所以我还是希望能支持直接把二进制数据传到后端为好。 兴奋之余遇到一个问题ByteString是okhttp3的websocket发送支持的数据类型不是AutoX.js默认支持的数据类型要把image的字节数组转成ByteString得依赖于okio这个外部库里的ByteString这个类的方法。 var img captureScreen(); var clipimages.clip(img, 400, 400, 400, 400); var baimages.toBytes(clip,format png, quality 100) clip.recycle();importPackage(Packages[okhttp3]); //导入包 let ByteString Packages.okio.ByteString;var client new OkHttpClient.Builder().retryOnConnectionFailure(true).build(); var request new Request.Builder().url(ws://192.168.137.1:8080).build(); client.dispatcher().cancelAll(); myListener {onOpen: function (webSocket, response) {print(onOpen);var bsByteString.of(ba);webSocket.send(bs);},onMessage: function (webSocket, msg) { print(msg);print(msg);},onClosing: function (webSocket, code, response) {print(正在关闭);},onClosed: function (webSocket, code, response) {print(已关闭);},onFailure: function (webSocket, t, response) {print(错误);print( t);} }var webSocket client.newWebSocket(request, new WebSocketListener(myListener)); setInterval(() { // 防止主线程退出 }, 1000);websocket服务端是这样的 const WebSocket require(ws); const fsrequire(fs)const wss new WebSocket.Server({ port: 8080 });wss.on(connection, function connection(ws) {ws.on(message, function incoming(message) {console.log(收到消息);console.log(message.length)fs.writeFile(fromautox.png, message, utf8, err {if (err) console.log(file system, err);else console.log(done); });});ws.send(something); });这样就完成了前端抓图直接传到后端保存图片的流程 此前还担心ByteString这种数据类型需要okhttp的websocketlistener来解析处理由于okhttp只有websocket客户端还不支持websocket服务器所以还需要一个websocket服务器来转发请求到另一个websocket客户端来用websocketlistener来处理收到的ByteString数据当然也能正常工作不过实验证明是不需要的了。
http://www.hkea.cn/news/14346507/

相关文章:

  • 自助网站东莞好的网站国外站建设价格
  • 医疗网站不备案php企业网站开发价格
  • php网站开发目录平面设计在线制作
  • 长沙网站制作电话WordPress作者信息框
  • 傻瓜动态建站 工具花都区住房和城市建设部网站
  • 怎样写精品课程网站建设重庆seo排名软件
  • 网上做网站网站代理招商网站建设公司
  • 圣诞网站怎么做东莞哪家网站建设专业
  • 烟台违建举报网站聊城集团网站建设加盟
  • 注册新公司网上核名网站培训
  • 微信网站需要域名吗网站后台欢迎界面
  • 万网账号跟网站有关系吗做企业的网站都要准备什么
  • 网站推广教程手机网站用什么软件做
  • 网站建设收税怎么做网站公众号
  • 网站推广设计制作南京做网站南京乐识权威
  • 网站优化搜索网站框架搭建
  • 网站设计专业就业方向有哪些外贸网络营销公司
  • wap蓝天建站wordpress 批量插件
  • 印刷设计东莞网站建设网站推广seo系统
  • 改织梦模板做网站全媒体运营师培训机构
  • 网站建设项目报价清单广州网站建设哪家公司
  • 中国新冠疫苗接种大连seo整站优化
  • 我想在网站上卖食品怎么做百度站点管理
  • 国外做网站公司能赚钱吗wordpress和discuz
  • 拥有响应式网站吉林省建设工程造价信息网站
  • 网站访问很慢家居装饰网站设计论文
  • 网站打开速度慢跟什么有关系wordpress 表 用户文章
  • 河西区做网站的公司wordpress 设置网站目录权限
  • 杭州网站建设的企业wordpress建站访问不了
  • wordpress网站后缀HTML电话外呼系统怎么收费