小编zbe*_*ens的帖子

在 WebSocket (ws) 上接收一个 ArrayBuffer

我想使用ws处理从客户端收到的 ArrayBuffer 消息。客户端,由于ws.binaryType,我直接收到了一个 ArrayBuffer,但服务器端,我没有收到一个 ArrayBuffer 而是这样的(字符串?): '< Buffer 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 00 00>'。

服务器如何接收 ArrayBuffer ?

客户端 :

var ws = new WebSocket("ws://localhost:3000/");
ws.binaryType = 'arraybuffer';
ws.onopen = function() {
    var buffer = new ArrayBuffer(15);
    var dv = new DataView(buffer);
    dv.setInt16(1, 42);
    ws.send(buffer);
};
Run Code Online (Sandbox Code Playgroud)

服务器端 :

var express = require('express'),
app = express(),
server = require('http').createServer(),
WebSocketServer = require('ws').Server,
wss = new WebSocketServer({
    server: …
Run Code Online (Sandbox Code Playgroud)

javascript dataview websocket node.js arraybuffer

6
推荐指数
1
解决办法
1万
查看次数

Node.js集群 - 最佳工作人员数量

我有4个核心并根据此示例运行此代码:

var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;

var id = 0;
if (cluster.isWorker) {
    id = cluster.worker.id;
}

var iterations = 1000000000;
console.time('Function #' + id);
for (var i = 0; i < iterations; i++) {
    var test = 0;
}
console.timeEnd('Function #' + id);

if (cluster.isMaster) {
    // Fork workers.
    for (var i = 0; i < numCPUs; i++) {
        cluster.fork();
    }
}
Run Code Online (Sandbox Code Playgroud)

有了4个fork(上面的代码),我得到了:

功能#0:1698.801ms

功能#1:3282.679ms

功能#4:3290.384ms

功能#3:3425.090ms

功能#2:3424.922ms

有了3个叉子,我得到了:

功能#0:1695.155ms …

javascript multithreading node.js node-cluster

3
推荐指数
1
解决办法
1420
查看次数

HTML5画布-绘制环形扇形

我想绘制一个具有环形形状的游戏地图(10000x10000)的边缘(因此该地图将是圆形的)。最简单(但性能最差)的方法是绘制一个实心圆(半径为6000)和一个实心圆(半径为5000)。

播放器的视口很小,因此不必绘制整个环形。一个部门很好。

我尝试使用ctx.arc,但是它给了我一个和弦...

有没有一种有效的方法可以在canvas2D上绘制巨大的环形扇区

在此处输入图片说明

javascript html5 canvas donut-chart

-1
推荐指数
1
解决办法
528
查看次数