Created
July 30, 2014 16:29
-
-
Save marknorgren/cbadab0d2c1fc8d41ee5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <html> | |
| <head> | |
| <script src="http://cdn.binaryjs.com/0/binary.js"></script> | |
| <script> | |
| var hexChar = ["0", "1", "2", "3", "4", "5", "6", "7","8", "9", "A", "B", "C", "D", "E", "F"]; | |
| function byteToHex(b) { | |
| return hexChar[(b >> 4) & 0x0f] + hexChar[b & 0x0f]; | |
| } | |
| // Connect to Binary.js server | |
| var client = new BinaryClient('ws://localhost:9000'); | |
| // Received new stream from server! | |
| client.on('stream', function(stream, meta){ | |
| console.log('new stream'); | |
| // Buffer for parts | |
| var parts = []; | |
| // Got new data | |
| stream.on('data', function(data){ | |
| parts.push(data); | |
| console.log("data: " + data); | |
| }); | |
| stream.on('end', function(){ | |
| // Display new data in browser! | |
| // var img = document.createElement("img"); | |
| // img.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts)); | |
| document.body.appendChild('<p>' + parts + '</p>'); | |
| console.log("parts: " + parts); | |
| }); | |
| stream.on('error', function() { | |
| console.log('Error'); | |
| }) | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| </body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function strToU8(str) { | |
| var u8 = new Uint8Array(str.length); | |
| str.split("").forEach(function(char,i){ | |
| var code = char.charCodeAt(0); | |
| u8[i] = code; | |
| }) | |
| return u8.buffer; | |
| } | |
| var BinaryServer = require('binaryjs').BinaryServer; | |
| //var BinaryServer = require('../../').BinaryServer; | |
| var fs = require('fs'); | |
| // Start Binary.js server | |
| var server = BinaryServer({ | |
| port: 9000 | |
| }); | |
| console.log("Starting server on port 9000"); | |
| // message to send | |
| var deadbeef = strToU8("deadbeef"); | |
| // Wait for new user connections | |
| server.on('connection', function(client) { | |
| console.log("connected to: " + client.toString()); | |
| var buffer = new ArrayBuffer(8); | |
| var int8View = new Int8Array(buffer); | |
| for (var i = 0; i < int8View.length; i++) { | |
| int8View[i] = deadbeef[i]; | |
| console.log("Entry " + i + ": " + int8View[i]); | |
| } | |
| client.send(buffer); | |
| new Date().getTime(); | |
| console.log("sent buffer: " + Date.now()); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $ node binaryjs-server.js | |
| Starting server on port 9000 | |
| 100 | |
| connected to: [object Object] | |
| Entry 0: 100 | |
| Entry 1: 101 | |
| Entry 2: 97 | |
| Entry 3: 100 | |
| Entry 4: 98 | |
| Entry 5: 101 | |
| Entry 6: 101 | |
| Entry 7: 102 | |
| /Users/markd/node_modules/binaryjs/node_modules/binarypack/lib/binarypack.js:187 | |
| throw new Error('Type "' + constructor.toString() + '" not yet support | |
| ^ | |
| Error: Type "function ArrayBuffer() { [native code] }" not yet supported | |
| at BinaryPack.Packer.pack (/Users/markd/node_modules/binaryjs/node_modules/binarypack/lib/binarypack.js:187:15) | |
| at BinaryPack.Packer.pack_array (/Users/markd/node_modules/binaryjs/node_modules/binarypack/lib/binarypack.js:245:10) | |
| at BinaryPack.Packer.pack (/Users/markd/node_modules/binaryjs/node_modules/binarypack/lib/binarypack.js:177:14) | |
| at Object.BinaryPack.pack (/Users/markd/node_modules/binaryjs/node_modules/binarypack/lib/binarypack.js:11:25) | |
| at BinaryStream._write (/Users/markd/node_modules/binaryjs/lib/stream.js:75:22) | |
| at BinaryStream.write (/Users/markd/node_modules/binaryjs/lib/stream.js:81:20) | |
| at BinaryClient.send (/Users/markd/node_modules/binaryjs/lib/client.js:182:14) | |
| at BinaryServer.<anonymous> (/Users/markd/workingDirectory/webSockets/binaryjs-server.js:36:9) | |
| at BinaryServer.EventEmitter.emit (events.js:95:17) | |
| at WebSocketServer.<anonymous> (/Users/markd/node_modules/binaryjs/lib/server.js:36:10) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment