WebSocket

WebSocket

HTML5新特性之WebSocket
http://blog.csdn.net/liuhe688/article/details/50496780
在nodejs中使用websocket
https://github.com/websockets/ws

angular-websocket

angular-websocket
https://www.npmjs.com/package/angular-websocket
在angular工程中使用angular-websocket:

#index.html中 
#app.js中 angular.module('appmodule1', ['angular-websocket'])
#controller中
app.controller('UnitsReportsCtrl', function($scope, $websocket) {
        if(!$scope.ws) {
            $scope.ws = $websocket("ws://localhost:8181");

            $scope.ws.onOpen(function (e) {
                console.log('Connection to server opened');
            });
            $scope.ws.onMessage(function (e) {
                console.log('received',e);
            });
        }
        $scope.ws.send('test11');
}

目前WebSocket可以收发消息的类型有String、Blob和ArrayBuffer,后面两个主要用于收发二进制数据的,日常开发中使用String类型就足够了,如果想要发送自定义对象,只需将其转换成JSON字符串后发送,如果客户端和服务端是以JSON形式通信,客户端收到消息后在将其转换为JavaScript对象即可。

Blob

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。
XMLHttpRequest 相关的数据类型:DOMString、FormData、Blob、File、FileReader这些类型,在XMLHttpRequest Level 2背景下,Ajax可以发送任意这些类型的数据。
可以在MDN Web API 接口页面中找到它们:https://developer.mozilla.org/zh-CN/docs/Web/API

Blob数据对象
http://blog.csdn.net/charlene0824/article/details/51340238
html上面通过websocket接收二进制图片数据并显示在页面上
http://blog.csdn.net/wushuang443/article/details/65442754
js中关于Blob对象的介绍与使用
https://www.cnblogs.com/wangfajing/p/7202139.html?utm_source=itdadao&utm_medium=referral
Blob/DataURL/canvas/image的相互转换,TypeArray、ArrayBuffer、Blob、File、DataURL、canvas的相互转换
https://www.cnblogs.com/jyuf/p/7251591.html
https://www.cnblogs.com/flicat/p/5337054.html

强类型数组

常用的Array并不是真正的数组,它其实是一个从哈希表扩展的结构体,因此Array可以提供push、splice等操作,但效率低。JavaScript中真正的数组是强类型数组。
由于现在JavaScript变得需要访问原始的二进制数据,这些底层的操作需要直接访问内存,因此引入了这些强类型的数组。
ArrayBuffer
Int8Array
Int16Array
Int32Array
Uint8Array
Uint8ClampedArray
Uint16Array
Uint32Array
Float32Array
Float64Array
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

发表评论