Compare commits

...

13 Commits
0.6.3 ... 0.6.8

Author SHA1 Message Date
Guillermo Rauch
a91c6f26f4 Release 0.6.8 2011-01-10 01:50:26 -08:00
Guillermo Rauch
aa9f2596cb Fixed issue with terminating connection twice 2011-01-10 01:48:05 -08:00
Guillermo Rauch
e2a97588ef Removed unnecessary code 2011-01-09 19:07:11 -08:00
Guillermo Rauch
0b904d79c2 Release 0.6.7 2011-01-09 18:55:30 -08:00
Guillermo Rauch
f99ac54df5 Fixed situation where the connection drops but the client can still autoreconnect
through a different socket. In this case we still want to clear the FD but not call
onDisconnect immediately.
2011-01-09 18:53:40 -08:00
Guillermo Rauch
b306cc77d7 Release 0.6.6 2011-01-09 18:17:42 -08:00
Guillermo Rauch
ba70be4e0b Note for Flash socket and inline policy on Firefox
Destroy the fds on disconnect
Restored 20 secs of polling so that node doesn't timeout the connections
2011-01-09 18:16:24 -08:00
Guillermo Rauch
0b17ec9cb8 Release 0.6.5 2011-01-09 16:56:54 -08:00
Guillermo Rauch
71e77561bb Make sure not to trigger multiple timeouts when closing
Important fix for polling transports.
2011-01-09 16:54:35 -08:00
Guillermo Rauch
f5b2028577 Release 0.6.4 2011-01-05 11:21:37 -08:00
Fabian Jakobs
7f08d8fd59 Don't destroy the connection in _onClose. Destroying
it will prevent the buffers from being flushed and
will result in corrupted responses for the
xhr-polling transport.

According to the node documentation "destroy" is
only necessary in case of a errors.
2011-01-05 13:25:35 +01:00
Mathew Rodley
ffb0574a76 Added try/catch block around JSON.parse and return an empty object literal
if JSON parsing fails.
2010-12-30 13:18:27 +11:00
Guillermo Rauch
e57e27ee43 Added missing .connect() to example 2010-12-24 13:02:35 -08:00
6 changed files with 47 additions and 12 deletions

View File

@@ -1,4 +1,36 @@
0.6.8 / 2011-01-10
==================
* Fixed issue with terminating connection twice
0.6.7 / 2011-01-09
==================
* Fixed situation where the connection drops but the client can still autoreconnect
through a different socket. In this case we still want to clear the FD but not
call onDisconnect immediately.
0.6.6 / 2011-01-09
==================
* Note for Flash socket and inline policy on Firefox
* Destroy the fds on disconnect
* Restored 20 secs of polling so that node doesn't timeout the connections
0.6.5 / 2011-01-09
==================
* Make sure not to trigger multiple timeouts when closing
* Important fix for polling transports.
0.6.4 / 2011-01-05
==================
* Don't destroy the connection in _onClose. Destroying it will prevent the buffers from being flushed and will result in corrupted responses for the xhr-polling transport.
* Added try/catch block around JSON.parse and return an empty object literal if JSON parsing fails.
* Added missing .connect() to example
0.6.3 / 2010-12-23
==================

View File

@@ -59,6 +59,7 @@ On the client:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = new io.Socket();
socket.connect();
socket.on('connect', function(){ … })
socket.on('message', function(){ … })
socket.on('disconnect', function(){ … })

View File

@@ -48,7 +48,11 @@ Client.prototype._onMessage = function(data){
case '~h~':
return this._onHeartbeat(messages[i].substr(3));
case '~j~':
messages[i] = JSON.parse(messages[i].substr(3));
try {
messages[i] = JSON.parse(messages[i].substr(3));
} catch(e) {
messages[i] = {};
}
break;
}
this.emit('message', messages[i]);
@@ -62,9 +66,11 @@ Client.prototype._onConnect = function(req, res){
this.request = req;
this.response = res;
this.connection = req.connection;
this.connection.addListener('end', function(){
self._onClose();
if (self.connection)
self.connection.destroy();
});
if (req){
@@ -121,15 +127,11 @@ Client.prototype._onHeartbeat = function(h){
};
Client.prototype._onClose = function(skipDisconnect){
if (!this._open) return this;
var self = this;
if (this._heartbeatInterval) clearTimeout(this._heartbeatInterval);
if (this._heartbeatTimeout) clearTimeout(this._heartbeatTimeout);
this._open = false;
if (this.connection){
this.connection.end();
this.connection.destroy();
this.connection = null;
}
this.request = null;
this.response = null;
if (skipDisconnect !== false){

View File

@@ -42,10 +42,11 @@ Flashsocket.init = function(listener){
netserver.listen(843);
} catch(e){
if (e.errno == 13)
listener.options.log('Your node instance does not have root privileges.'
listener.options.log('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.');
+ 'down initial connections slightly. NOTE: this fails '
+ 'with Firefox 4 betas.');
netserver = null;
}
}

View File

@@ -12,13 +12,12 @@ Polling.prototype.getOptions = function(){
return {
timeout: null, // no heartbeats
closeTimeout: 8000,
duration: 50000
duration: 20000
};
};
Polling.prototype._onConnect = function(req, res){
var self = this, body = '';
switch (req.method){
case 'GET':
Client.prototype._onConnect.apply(this, [req, res]);

View File

@@ -1,6 +1,6 @@
{ "name" : "socket.io"
, "description" : "The cross-browser WebSocket"
, "version" : "0.6.3"
, "version" : "0.6.8"
, "author" : "LearnBoost"
, "licenses" :
[ { "type" : "MIT"