File tree Expand file tree Collapse file tree 1 file changed +20
-13
lines changed Expand file tree Collapse file tree 1 file changed +20
-13
lines changed Original file line number Diff line number Diff line change @@ -409,20 +409,27 @@ private async Task SendMessagesAsync()
409
409
msg = _sendQueue . Dequeue ( ) ;
410
410
}
411
411
412
- if ( msg == null )
413
- continue ;
414
-
415
- if ( msg is TextMessage )
416
- {
417
- webSocket . Control . MessageType = SocketMessageType . Utf8 ;
418
- messageWriter . WriteString ( ( ( TextMessage ) msg ) . Text ) ;
419
- await messageWriter . StoreAsync ( ) ;
420
- }
421
- else if ( msg is BinaryMessage )
412
+ while ( msg != null )
422
413
{
423
- webSocket . Control . MessageType = SocketMessageType . Binary ;
424
- messageWriter . WriteBytes ( ( ( BinaryMessage ) msg ) . Data ) ;
425
- await messageWriter . StoreAsync ( ) ;
414
+ if ( msg is TextMessage )
415
+ {
416
+ webSocket . Control . MessageType = SocketMessageType . Utf8 ;
417
+ messageWriter . WriteString ( ( ( TextMessage ) msg ) . Text ) ;
418
+ await messageWriter . StoreAsync ( ) ;
419
+ }
420
+ else if ( msg is BinaryMessage )
421
+ {
422
+ webSocket . Control . MessageType = SocketMessageType . Binary ;
423
+ messageWriter . WriteBytes ( ( ( BinaryMessage ) msg ) . Data ) ;
424
+ await messageWriter . StoreAsync ( ) ;
425
+ }
426
+
427
+ msg = null ;
428
+ lock ( _sendQueue )
429
+ {
430
+ if ( _sendQueue . Count > 0 )
431
+ msg = _sendQueue . Dequeue ( ) ;
432
+ }
426
433
}
427
434
}
428
435
You can’t perform that action at this time.
0 commit comments