Skip to content

Instantly share code, notes, and snippets.

@joshkehn
joshkehn / gist:1127725
Created August 5, 2011 15:05
WebSocket - Part 7
net.createServer(
function(socket)
{
/**
* Start the flash policy file
*/
socket.write("<?xml version=\"1.0\"?>");
socket.write("<!DOCTYPE cross-domain-policy SYSTEM \"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd\">\n");
socket.write("<cross-domain-policy>\n");
@joshkehn
joshkehn / gist:1127728
Created August 5, 2011 15:06
WebSocket - Part 9
var sys = require("sys"),
ws = require('./lib/ws');
var server = ws.createServer();
intervals = {};
server.addListener("listening",
function()
{
sys.log("Listening for connections.");
@joshkehn
joshkehn / gist:1127730
Created August 5, 2011 15:08
WebSocket - Part 10
// Handle WebSocket Requests
server.addListener("connection",
function(conn)
{
conn.send("Connection: "+conn.id);
sys.log("Connection found: " + conn.id);
@joshkehn
joshkehn / gist:1127734
Created August 5, 2011 15:09
WebSocket - Part 11
conn.addListener("message",
function(message)
{
sys.log("Message recieved from conn# " + conn.id + "\
" + message);
}
);
@joshkehn
joshkehn / gist:1127739
Created August 5, 2011 15:11
WebSocket - Part 13
server.addListener("close",
function(conn)
{
clearInterval(intervals[conn]);
server.broadcast("<"+conn.id+"> disconnected");
sys.log(conn.id + " disconnected");
}
);
@joshkehn
joshkehn / gist:1127715
Created August 5, 2011 15:01
WebSocket - Part 3
var ws = new WebSocket("ws://localhost:40132");
ws.onopen = function()
{
output("Opened connection.");
};
ws.onmessage = function(e)
{
date = new Date(e.data);
if(isNaN(date.getHours()))
{
@joshkehn
joshkehn / gist:1127720
Created August 5, 2011 15:02
WebSocket - Part 5
</script>
</head>
<body>
<div id="log"></div>
</body>
</html>
@joshkehn
joshkehn / gist:1127726
Created August 5, 2011 15:06
WebSocket - Part 8
sudo node flashpolicy.js > flashpolicy.log & sleep 5; tail flashpolicy.log
var arr = // array of objects;
res = [];
arr.forEach(function (item) {
item.save(function (err) {
res.push(err);
if (res.length === arr.length)
{
// Done
}
@joshkehn
joshkehn / os_setter.js
Created August 30, 2011 01:36
One-shot setters
// One-shot set function
function error (fn)
{
// Create locally bound copy of `fn`
var handle = fn.bind(this);
// Overwrite function
error = handle;
}