@@ -276,7 +276,7 @@ private static async Task SendStreamDataAsync(WebSocket webSocket, WebSocketMess
276276 {
277277 totalBytesRead += bytesRead ;
278278 }
279-
279+
280280 if ( totalBytesRead > 0 )
281281 {
282282 await webSocket . SendAsync ( new ArraySegment < byte > ( buffer , 0 , totalBytesRead ) , messageType , endOfMessage : true , cancellationToken ) ;
@@ -661,7 +661,7 @@ public static async Task<Dictionary<string, bool>> SendAsync(
661661 // Use cluster routing / 使用集群路由
662662 var connectionIdsList = connectionIds . ToList ( ) ;
663663 var connectionIdsArray = connectionIdsList . ToArray ( ) ;
664-
664+
665665 var results = await clusterManager . RouteMessagesAsync ( connectionIdsArray , data , ( int ) messageType ) ;
666666 return results ;
667667 }
@@ -676,32 +676,22 @@ public static async Task<Dictionary<string, bool>> SendAsync(
676676 {
677677 continue ;
678678 }
679-
680- var task = Task . Run ( async ( ) =>
679+ var webSocket = GetLocalWebSocket ( connectionId ) ;
680+ if ( webSocket != null && webSocket . State == WebSocketState . Open )
681681 {
682- var webSocket = GetLocalWebSocket ( connectionId ) ;
683- if ( webSocket != null && webSocket . State == WebSocketState . Open )
684- {
685- try
686- {
687- await webSocket . SendAsync (
688- new ArraySegment < byte > ( data ) ,
689- messageType ,
690- true ,
691- CancellationToken . None ) ;
692- results [ connectionId ] = true ;
693- }
694- catch
695- {
696- results [ connectionId ] = false ;
697- }
698- }
699- else
700- {
701- results [ connectionId ] = false ;
702- }
703- } ) ;
704- tasks . Add ( task ) ;
682+ Task task = webSocket . SendAsync (
683+ new ArraySegment < byte > ( data ) ,
684+ messageType ,
685+ true ,
686+ CancellationToken . None ) ;
687+ tasks . Add ( task ) ;
688+
689+ results [ connectionId ] = true ;
690+ }
691+ else
692+ {
693+ results [ connectionId ] = false ;
694+ }
705695 }
706696
707697 await Task . WhenAll ( tasks ) ;
@@ -978,7 +968,7 @@ public static async Task<Dictionary<string, bool>> SendAsync(
978968 // Use local WebSocket / 使用本地 WebSocket
979969 var results = new Dictionary < string , bool > ( ) ;
980970 var connectionIdList = connectionIds . Where ( id => ! string . IsNullOrEmpty ( id ) ) . ToList ( ) ;
981-
971+
982972 if ( connectionIdList . Count == 0 )
983973 {
984974 return results ;
0 commit comments