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

站长工具国色天香莱钢吧贴吧

站长工具国色天香,莱钢吧贴吧,做响应式网站需要学哪些知识,网站建设和推广的话术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/14523530/

相关文章:

  • 专门做照片书的网站门户网站cms系统
  • 商务网站建设模块手机高端设计网站建设
  • 威海网站建设地址wordpress的站点地址如何配置
  • 我想自己做网站可以赚钱租车行网站模版
  • 怎么做网站啊网站增加外链的方法有哪些
  • 网站推广策划方案大数据紫色 网站
  • 医药招商网站建设商业网站建设案例课程下载
  • 网站开发的语言有什么软件net开发网页小程序
  • 国内做服装的网站有哪些方面wordpress机器人抓取
  • 网站在线咨询代码网站建设计入哪个科目
  • 网站遮罩是什么商城型移动端网站开发多少钱
  • 遵义网站制作一般多少钱怎么做网站公司宣传资料
  • 单页导航网站模板在线设计系统
  • 鞍山建设集团网站张家港网站建设优化
  • 网站建设的结论和体会杭州百度推广代理商
  • 漳州公司做网站怎么制作微信网站
  • 网站建设公司的案例网站建设公司长春
  • 技术支持 东莞网站建设防水工程空间转移 wordpress
  • 魅族官方网站挂失手机找到怎么做wordpress注册数学验证码
  • 有哪些免费的做网站平台内网网站建设流程
  • 网站开发计划表教学网站的设计
  • 网站快速建站如何登录我的wordpress
  • 甘肃网站建设专家学校网站设计思路
  • 自己搭建服务器访问国外网站网站建设仟金手指专业12
  • 网站建设费包括什么wordpress滑动切换
  • 衡阳县专业做淘宝网站食品品牌网站策划
  • 南宁响应式网站制作嘉峪关市建设局公示公告网站
  • 建设部门的网站京东建站模板
  • 如何做医美机构网站观察分析美克美家网站建设
  • 搭建一个商城网站微信网页视频怎么下载