@@ -279,14 +279,17 @@ class PhoenixSocket {
279
279
if (_connectionManager != null ) {
280
280
_connectionManager! .dispose (code, reason);
281
281
_connectionManager = null ;
282
- }
283
- if (_stateEventStreamController.valueOrNull is ! PhoenixSocketCloseEvent ) {
284
- _stateEventStreamController
285
- .add (PhoenixSocketCloseEvent (code: code, reason: reason));
286
- }
287
- if (_socketStateStream.valueOrNull is ! WebSocketDisconnected ) {
288
- await _socketStateStream
289
- .firstWhere ((state) => state is WebSocketDisconnected );
282
+
283
+ if (_socketStateStream.valueOrNull is ! WebSocketDisconnected ) {
284
+ await _socketStateStream
285
+ .firstWhere ((state) => state is WebSocketDisconnected );
286
+ }
287
+ } else {
288
+ _isOpen = false ;
289
+ if (_stateEventStreamController.valueOrNull is ! PhoenixSocketCloseEvent ) {
290
+ _stateEventStreamController
291
+ .add (PhoenixSocketCloseEvent (code: code, reason: reason));
292
+ }
290
293
}
291
294
}
292
295
@@ -561,6 +564,7 @@ class PhoenixSocket {
561
564
if (_isOpen) {
562
565
_triggerChannelExceptions (PhoenixException (socketError: errorEvent));
563
566
}
567
+ // _connectionManager?.reconnect(internalServerError, reason: 'Error on socket: ${errorEvent.error}');
564
568
}
565
569
566
570
void _onSocketClosed (PhoenixSocketCloseEvent closeEvent) {
@@ -576,7 +580,7 @@ class PhoenixSocket {
576
580
577
581
_logger.fine (
578
582
() =>
579
- 'Socket closed with reason ${closeEvent .reason } and code ${closeEvent .code } ' ,
583
+ 'Socket closed with code ${closeEvent .code } and reason " ${closeEvent .reason }" ' ,
580
584
);
581
585
_triggerChannelExceptions (exception);
582
586
}
0 commit comments