XMLHttp java服务端与 js客户端通讯实现二进制流收发
来源:互联网 发布:mac新版迅雷下载不了 编辑:程序博客网 时间:2024/06/06 13:16
XMLHttp java服务端与 js客户端通讯实现二进制流收发
js客户端:
var xhr = cc.loader.getXMLHttpRequest();xhr.responseType = "arraybuffer";var that = this;xhr.onreadystatechange = function () { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) { var binary = new Uint8Array(xhr.response); }}xhr.open("POST", "http://192.168.199.88:8787");var str = "test=1&idLogin=10086";var buf = new ArrayBuffer(str.length); // 1 bytes for each charvar view = new Uint8Array(buf);for (var i=0, strLen=str.length; i<strLen; i++) { view[i] = str.charCodeAt(i);}xhr.send(buf);
参考如下:http://blog.csdn.net/u011462674/article/details/9748359
利用XMLHttpRequest同步和异步下载二进制文件的解决方案。
在XMLHttpRequest里支持二进制数据的下载了,现分别以同步和异步两种方式分别介绍。
异步的方式下载:
- xmlRequest.open("GET", "0.jpg", true);
- xmlRequest.responseType = "blob";//这里是关键,它指明返回的数据的类型是二进制
- xmlRequest.onreadystatechange = function(e) {
- if (this.readyState == 4 && this.status == 200) {
- var response = this.response;
- img.src = window.URL.createObjectURL(response);
- }
- }
- xmlRequest.send(null);
同步的方式下载:
- <pre name="code" class="javascript"> xmlRequest.open("GET", "0.jpg", false);
- xmlRequest.overrideMimeType('text/plain; charset=x-user-defined');//这里是关键,不然 this.responseText;的长度不等于文件的长度
- xmlRequest.onreadystatechange = function(e) {
- if (this.readyState == 4 && this.status == 200) {
- var text = this.responseText;
- var length = text.length;
- var array = new Uint8Array(length);
- for (var i = 0; i < length; ++i) {
- array[i] = text.charCodeAt(i);
- }
- var blob = new Blob([array], { "type": "image/jpeg" });
- img.src = window.URL.createObjectURL(blob);
- }
- }
- xmlRequest.send(null);</pre><br>
- <pre></pre>
- 注意:w3c标准中规定同步的情况下是不能设置responseType属性的。
- <p></p>
- <p></p>
- <p></p>
- <pre></pre>
- <pre></pre>
- <pre></pre>
-
0 0
- XMLHttp java服务端与 js客户端通讯实现二进制流收发
- Java Websocket实例【服务端与客户端实现全双工通讯】
- socket实现服务端与客户端的通讯
- 使用eclipse paho在java端实现MQTT消息的收发(客户端与服务端实例)
- socket实现服务端客户端通讯
- android 客户端与服务端通讯
- C++ socket编程 实现服务端与客户端的通讯
- socket实现客户端与服务端的通讯(群聊)
- socket编程 实现服务端与客户端的通讯
- C++ socket编程 实现服务端与客户端的通讯
- C++ socket编程 实现服务端与客户端的通讯
- C++ socket编程 实现服务端与客户端的通讯
- C++ socket编程 实现服务端与客户端的通讯
- java TCP客户端与服务端之间的通讯
- JAVA使用Socket模拟服务端与客户端通讯
- Java-Soket实现客户端与服务端双向通信
- java nio 实现客户端与服务端读写
- Untiy中用C#实现TCP通讯(Socket通讯)服务端与客户端皆可
- 你不知道的关于计算机大师Dijkstra的事情
- Dubbo架构设计详解
- Maven 手动添加 JAR 包到本地仓库
- Dom4j解析XML学习代码
- 使用数组实现队列
- XMLHttp java服务端与 js客户端通讯实现二进制流收发
- 【定位分享】记一次内存泄漏定位
- android之ShareSDK实现分享功能
- 大型网站架构之分布式缓存
- C primer plus 第十章 例题疑问(清单10.18):
- 安卓自定义标题时候you cannot combine custom titles with other 
- DHTML.js javascript API ->DOM from webstorm
- GPS信号频段
- 循环队列的实现