26 lines
1005 B
JavaScript
26 lines
1005 B
JavaScript
|
var decoder = new TextDecoder("utf-8");
|
||
|
var port = 8089;
|
||
|
var ws = require("ws");
|
||
|
var wss = new ws.WebSocketServer({ port: port });
|
||
|
console.log("WebSocket server listening on ws://localhost:" + port + "/");
|
||
|
wss.on("connection", function (ws) {
|
||
|
console.log("Client connected!");
|
||
|
ws.on("message", function (message, isBinary) {
|
||
|
if (!isBinary) {
|
||
|
var text = decoder.decode(new Uint8Array(message).buffer);
|
||
|
console.log("received TEXT: " + text.length + " characters:");
|
||
|
console.log(' "' + text + '"');
|
||
|
} else {
|
||
|
const camera = new Camera3D({}, new Uint8Array(message));
|
||
|
console.log(camera.position.x, camera.position.y, camera.position.z);
|
||
|
console.log(camera.target.x, camera.target.y, camera.target.z);
|
||
|
console.log(camera.up.x, camera.up.y, camera.up.z);
|
||
|
console.log(camera.fovy);
|
||
|
console.log(camera.projection);
|
||
|
console.log(camera.bytes);
|
||
|
|
||
|
ws.send(camera.bytes, { binary: true }); // Echo back the received message
|
||
|
}
|
||
|
});
|
||
|
});
|