Das*_*oot 5 javascript html5 websocket
你好,我试图传输文件.我有一些程序将文件转换为二进制文件并通过网络使用c ++传输它们.我想知道我是否能够使用javascripts和websockets传输文件?关于如何将我的c ++程序集成到javascript中的任何示例将不胜感激.谢谢.
Javascript有两种新的二进制类型:类型化数组(arraybuffers)和Blob(基本上是文件).
WebSockets支持发送和接收类型化数组和blob.
要使用WebSockets在两个浏览器之间传输数据,您需要一个服务器来连接它们(浏览器WebSocket支持仅在此时是客户端).
如果您在C++中有一个处理文件传输的现有服务器,那么您应该能够非常轻松地添加WebSocket服务器支持.您可以在此页面上找到WebSocket客户端和服务器实现:http://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations
在JavaScript中建立与WebSocket服务器的连接,你可以这样做:
ws = new WebSocket("ws://100.101.102.103");
Run Code Online (Sandbox Code Playgroud)
send()方法支持普通字符串,类型数组或blob.发送类型化数组和blob将导致服务器接收的帧为二进制帧(opcode = 2).
ws.send(myTypedArray);
Run Code Online (Sandbox Code Playgroud)
要接收消息,请注册消息处理程序:
ws.onmessage = function (evt) {
console.log("Got ws message: " + evt.data);
};
Run Code Online (Sandbox Code Playgroud)
如果服务器发送二进制帧/消息,则事件的onmessage数据属性将包含类型化数组或blob,具体取决于binaryType属性的设置.您可以更改收到的二进制数据的类型,如下所示:
ws.binaryType = "blob"; // or "arraybuffer"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11154 次 |
| 最近记录: |