Skip to content

Instantly share code, notes, and snippets.

@dvv
dvv / gist:1232284
Created September 21, 2011 15:04
wasClean for web-socket-js
diff --git a/flash-src/src/net/gimite/websocket/WebSocket.as b/flash-src/src/net/gimite/websocket/WebSocket.as
index fb3555e..ec7d769 100644
--- a/flash-src/src/net/gimite/websocket/WebSocket.as
+++ b/flash-src/src/net/gimite/websocket/WebSocket.as
@@ -158,7 +158,7 @@ public class WebSocket extends EventDispatcher {
}
}
- public function close(isError:Boolean = false, byServer:Boolean = false):void {
+ public function close(isError:Boolean = false, byServer:Boolean = false, wasClean:Boolean = false):void {
@dvv
dvv / gist:1075674
Created July 11, 2011 10:52
socket.io logging pattern overheads
'use strict';
var io = require('../');
var server = io.listen(23456);
server.set('log level', 0);
var n = 100000;
var t0 = Date.now();
for (var i = 0; i < n; ++i) {
server.get('log level') > 2 && server.log.debug('fooooooooooooo', 'ooooooooooooooooo', 'oooooooooooooooooooo', 'oooooooooooooooooooooooo');
@dvv
dvv / session.js
Created June 28, 2011 17:25
middleware reuse for socket.io
...
var stack = [
// serve static content
Stack.static(__dirname + '/public', 'index.html', {
maxAge: 0,
//cacheThreshold: 16384
}),
// dynamic content requires session
sessionHandler = require('cookie-sessions')({
'use strict';
/*!
*
* redis-backed Spine Model
*
* Copyright(c) 2011 Vladimir Dronnikov <[email protected]>
* MIT Licensed
*
*/
@dvv
dvv / dvv.diff
Created June 26, 2011 08:30
socket handshake info simplified
--- memory.js.orig 2011-06-23 19:37:15.000000000 +0400
+++ memory.js 2011-06-26 13:03:51.000000000 +0400
@@ -26,7 +26,6 @@
*/
function Memory (opts) {
- this.handshaken = [];
this.clientsMap = {};
this.rooms = {};
};
@dvv
dvv / data.diff
Created June 22, 2011 04:37
socket.io-honor-http-data-in-connection-event
diff --git a/lib/manager.js b/lib/manager.js
index 24ac437..e2565e0 100644
--- a/lib/manager.js
+++ b/lib/manager.js
@@ -343,7 +343,7 @@ Manager.prototype.handleClient = function (data, req) {
// echo back connect packet and fire connection event
if (i === '') {
- self.namespaces[i].handlePacket(data.id, { type: 'connect' });
+ self.namespaces[i].handlePacket(data.id, { type: 'connect', data: data });
@dvv
dvv / gist:1035818
Created June 20, 2011 15:26
socket.io-node.0.7-transport-naming
diff -Naur orig/transports/http.js dvv/transports/http.js
--- orig/transports/http.js 2011-06-20 18:38:21.000000000 +0400
+++ dvv/transports/http.js 2011-06-20 18:25:54.000000000 +0400
@@ -42,7 +42,7 @@
*/
HTTPTransport.prototype.handleRequest = function (req) {
- if (req.method == 'POST') {
+ if (req.method === 'POST') {
var buffer = ''
@dvv
dvv / gist:1029622
Created June 16, 2011 16:24
xhr-polling failure illustration
warn - Your node instance does not have root privileges. This means that the flash XML policy file will be served inline instead of on port 843. This will slow down initial connections slightly.
info - flash policy inline server started
info - socket.io started
debug - client authorized
info - handshake authorized
info - handshaken fee6ddf99346bc6181c8ee8ab2c5a688
HTTPREQ GET /socket.io/1/xhr-polling/fee6ddf99346bc6181c8ee8ab2c5a688?t1308241126559
debug - setting request GET /socket.io/1/xhr-polling/fee6ddf99346bc6181c8ee8ab2c5a688?t1308241126559
debug - publishing that fee6ddf99346bc6181c8ee8ab2c5a688 connected
debug - setting poll timeout
@dvv
dvv / failing-test.js
Created June 2, 2011 20:20
socket.io-node.0.7-tests
var assert = require('assert');
var http = require('http');
function server(port) {
var srv = http.createServer(function(req, res) {
res.writeHead(200);
res.end('Hello!');
});
srv.listen(port);
return srv;
@dvv
dvv / gist:982523
Created May 20, 2011 07:54
socket.io-169
--- websocket.js.orig 2011-05-20 11:50:10.000000000 +0400
+++ websocket.js 2011-05-20 11:59:19.000000000 +0400
@@ -11,6 +11,10 @@
util.inherits(WebSocket, Client);
+WebSocket.prototype._isSecure = function(){
+ return this.request.socket.encrypted;
+};
+