@@ -23,15 +23,15 @@ function websocket(dop, node, options) {
2323 :
2424 send_queue . push ( message ) ;
2525 }
26- function sendQueue ( message ) {
26+ function sendQueue ( ) {
2727 while ( send_queue . length > 0 )
2828 socket . send ( send_queue . shift ( ) ) ;
2929 }
3030
3131 // Socket events
3232 function onopen ( ) {
3333 // Reconnect
34- if ( node . readyState === dop . CONS . RECONNECT )
34+ if ( node . readyState === dop . CONS . CONNECTING )
3535 socket . send ( node . tokenServer ) ;
3636 // Connect
3737 else {
@@ -42,38 +42,45 @@ function websocket(dop, node, options) {
4242 }
4343 function onmessage ( message ) {
4444 // Reconnecting
45- if ( node . readyState === dop . CONS . RECONNECT && message . data === node . tokenServer ) {
45+ if ( node . readyState === dop . CONS . CONNECTING && message . data === node . tokenServer ) {
4646 node . readyState = dop . CONS . CONNECT ;
4747 dop . core . setSocketToNode ( node , socket ) ;
4848 dop . core . emitReconnect ( node , oldSocket ) ;
49+ sendQueue ( ) ;
4950 }
5051 else
5152 dop . core . emitMessage ( node , message . data , message ) ;
5253 }
5354 function onclose ( ) {
55+ node . readyState = dop . CONS . CLOSE ;
5456 dop . core . emitClose ( node , socket ) ;
5557 }
5658
5759 // dop events
58- function onconnect ( ) {
59- if ( node . readyState === dop . CONS . RECONNECT ) {
60+ function onconnect ( message_response ) {
61+ if ( node . readyState === dop . CONS . CONNECTING ) {
6062 dop . core . emitDisconnect ( node ) ;
6163 dop . core . setSocketToNode ( node , socket ) ;
6264 }
65+ else
66+ socket . send ( message_response ) ;
6367 node . readyState = dop . CONS . CONNECT ;
6468 dop . core . emitConnect ( node ) ;
69+ sendQueue ( ) ;
6570 }
6671 function ondisconnect ( ) {
6772 node . readyState = dop . CONS . CLOSE ;
6873 socket . close ( ) ;
6974 }
7075
7176 function reconnect ( ) {
72- oldSocket = socket ;
73- socket = new api ( url ) ;
74- node . readyState = dop . CONS . RECONNECT ;
75- addListeners ( socket , onopen , onmessage , onclose ) ;
76- removeListeners ( oldSocket , onopen , onmessage , onclose ) ;
77+ if ( node . readyState !== dop . CONS . CONNECT ) {
78+ oldSocket = socket ;
79+ socket = new api ( url ) ;
80+ node . readyState = dop . CONS . CONNECTING ;
81+ addListeners ( socket , onopen , onmessage , onclose ) ;
82+ removeListeners ( oldSocket , onopen , onmessage , onclose ) ;
83+ }
7784 }
7885
7986 // Setting up
0 commit comments