File tree Expand file tree Collapse file tree 8 files changed +24
-79
lines changed Expand file tree Collapse file tree 8 files changed +24
-79
lines changed Original file line number Diff line number Diff line change @@ -35,20 +35,6 @@ export declare class Manager extends Emitter {
3535 * @api private
3636 */
3737 emitAll ( event : string , arg ?: any ) : void ;
38- /**
39- * Update `socket.id` of all sockets
40- *
41- * @api private
42- */
43- updateSocketIds ( ) : void ;
44- /**
45- * generate `socket.id` for the given `nsp`
46- *
47- * @param {String } nsp
48- * @return {String }
49- * @api private
50- */
51- generateId ( nsp : any ) : string ;
5238 /**
5339 * Sets the `reconnection` config.
5440 *
Original file line number Diff line number Diff line change @@ -91,28 +91,6 @@ class Manager extends component_emitter_1.default {
9191 }
9292 }
9393 }
94- /**
95- * Update `socket.id` of all sockets
96- *
97- * @api private
98- */
99- updateSocketIds ( ) {
100- for ( let nsp in this . nsps ) {
101- if ( has . call ( this . nsps , nsp ) ) {
102- this . nsps [ nsp ] . id = this . generateId ( nsp ) ;
103- }
104- }
105- }
106- /**
107- * generate `socket.id` for the given `nsp`
108- *
109- * @param {String } nsp
110- * @return {String }
111- * @api private
112- */
113- generateId ( nsp ) {
114- return ( nsp === "/" ? "" : nsp + "#" ) + this . engine . id ;
115- }
11694 /**
11795 * Sets the `reconnection` config.
11896 *
@@ -386,9 +364,6 @@ class Manager extends component_emitter_1.default {
386364 this . nsps [ nsp ] = socket ;
387365 var self = this ;
388366 socket . on ( "connecting" , onConnecting ) ;
389- socket . on ( "connect" , function ( ) {
390- socket . id = self . generateId ( nsp ) ;
391- } ) ;
392367 if ( this . autoConnect ) {
393368 // manually call here since connecting event is fired before listening
394369 onConnecting ( ) ;
@@ -572,7 +547,6 @@ class Manager extends component_emitter_1.default {
572547 const attempt = this . backoff . attempts ;
573548 this . reconnecting = false ;
574549 this . backoff . reset ( ) ;
575- this . updateSocketIds ( ) ;
576550 this . emitAll ( "reconnect" , attempt ) ;
577551 }
578552}
Original file line number Diff line number Diff line change @@ -100,7 +100,7 @@ export declare class Socket extends Emitter {
100100 *
101101 * @api private
102102 */
103- onconnect ( ) : void ;
103+ onconnect ( id : string ) : void ;
104104 /**
105105 * Emit buffered events (received and emitted).
106106 *
Original file line number Diff line number Diff line change @@ -203,7 +203,8 @@ class Socket extends component_emitter_1.default {
203203 return ;
204204 switch ( packet . type ) {
205205 case socket_io_parser_1 . PacketType . CONNECT :
206- this . onconnect ( ) ;
206+ const id = packet . data . sid ;
207+ this . onconnect ( id ) ;
207208 break ;
208209 case socket_io_parser_1 . PacketType . EVENT :
209210 this . onevent ( packet ) ;
@@ -289,7 +290,8 @@ class Socket extends component_emitter_1.default {
289290 *
290291 * @api private
291292 */
292- onconnect ( ) {
293+ onconnect ( id ) {
294+ this . id = id ;
293295 this . connected = true ;
294296 this . disconnected = false ;
295297 this . emit ( "connect" ) ;
Original file line number Diff line number Diff line change @@ -93,30 +93,6 @@ export class Manager extends Emitter {
9393 }
9494 }
9595
96- /**
97- * Update `socket.id` of all sockets
98- *
99- * @api private
100- */
101- updateSocketIds ( ) {
102- for ( let nsp in this . nsps ) {
103- if ( has . call ( this . nsps , nsp ) ) {
104- this . nsps [ nsp ] . id = this . generateId ( nsp ) ;
105- }
106- }
107- }
108-
109- /**
110- * generate `socket.id` for the given `nsp`
111- *
112- * @param {String } nsp
113- * @return {String }
114- * @api private
115- */
116- generateId ( nsp ) {
117- return ( nsp === "/" ? "" : nsp + "#" ) + this . engine . id ;
118- }
119-
12096 /**
12197 * Sets the `reconnection` config.
12298 *
@@ -417,9 +393,6 @@ export class Manager extends Emitter {
417393 this . nsps [ nsp ] = socket ;
418394 var self = this ;
419395 socket . on ( "connecting" , onConnecting ) ;
420- socket . on ( "connect" , function ( ) {
421- socket . id = self . generateId ( nsp ) ;
422- } ) ;
423396
424397 if ( this . autoConnect ) {
425398 // manually call here since connecting event is fired before listening
@@ -618,7 +591,6 @@ export class Manager extends Emitter {
618591 const attempt = this . backoff . attempts ;
619592 this . reconnecting = false ;
620593 this . backoff . reset ( ) ;
621- this . updateSocketIds ( ) ;
622594 this . emitAll ( "reconnect" , attempt ) ;
623595 }
624596}
Original file line number Diff line number Diff line change @@ -223,7 +223,8 @@ export class Socket extends Emitter {
223223
224224 switch ( packet . type ) {
225225 case PacketType . CONNECT :
226- this . onconnect ( ) ;
226+ const id = packet . data . sid ;
227+ this . onconnect ( id ) ;
227228 break ;
228229
229230 case PacketType . EVENT :
@@ -319,7 +320,8 @@ export class Socket extends Emitter {
319320 *
320321 * @api private
321322 */
322- onconnect ( ) {
323+ onconnect ( id : string ) {
324+ this . id = id ;
323325 this . connected = true ;
324326 this . disconnected = false ;
325327 this . emit ( "connect" ) ;
Original file line number Diff line number Diff line change @@ -6,19 +6,22 @@ describe("socket", function () {
66
77 it ( "should have an accessible socket id equal to the server-side socket id (default namespace)" , ( done ) => {
88 const socket = io ( { forceNew : true } ) ;
9- socket . on ( "connect" , ( ) => {
9+
10+ socket . emit ( "getId" , ( id ) => {
1011 expect ( socket . id ) . to . be . ok ( ) ;
11- expect ( socket . id ) . to . eql ( socket . io . engine . id ) ;
12+ expect ( socket . id ) . to . be . eql ( id ) ;
13+ expect ( socket . id ) . to . not . eql ( socket . io . engine . id ) ;
1214 socket . disconnect ( ) ;
1315 done ( ) ;
1416 } ) ;
1517 } ) ;
1618
1719 it ( "should have an accessible socket id equal to the server-side socket id (custom namespace)" , ( done ) => {
1820 const socket = io ( "/foo" , { forceNew : true } ) ;
19- socket . on ( "connect ", ( ) => {
21+ socket . emit ( "getId ", ( id ) => {
2022 expect ( socket . id ) . to . be . ok ( ) ;
21- expect ( socket . id ) . to . eql ( "/foo#" + socket . io . engine . id ) ;
23+ expect ( socket . id ) . to . be . eql ( id ) ;
24+ expect ( socket . id ) . to . not . eql ( socket . io . engine . id ) ;
2225 socket . disconnect ( ) ;
2326 done ( ) ;
2427 } ) ;
Original file line number Diff line number Diff line change @@ -4,8 +4,10 @@ const io = require("socket.io");
44const server = io ( process . env . ZUUL_PORT || 3210 , { pingInterval : 2000 } ) ;
55const expect = require ( "expect.js" ) ;
66
7- server . of ( "/foo" ) . on ( "connection" , ( ) => {
8- // register namespace
7+ server . of ( "/foo" ) . on ( "connection" , ( socket ) => {
8+ socket . on ( "getId" , ( cb ) => {
9+ cb ( socket . id ) ;
10+ } ) ;
911} ) ;
1012
1113server . of ( "/timeout_socket" ) . on ( "connection" , ( ) => {
@@ -145,4 +147,8 @@ server.on("connection", (socket) => {
145147 socket . on ( "getHandshake" , ( cb ) => {
146148 cb ( socket . handshake ) ;
147149 } ) ;
150+
151+ socket . on ( "getId" , ( cb ) => {
152+ cb ( socket . id ) ;
153+ } ) ;
148154} ) ;
You can’t perform that action at this time.
0 commit comments