private static Socket GetWebSocket(HubConnection hubConnection) { dynamic transport = hubConnection.AsDynamic()._state?.CurrentConnectionStateUnsynchronized?.Connection?._transport; if (transport is null) { return(null); } var transportName = ((object)transport).GetType().Name; if (transportName.Contains("WebSocket", StringComparison.InvariantCulture)) { return(null); } return((Socket)transport?._webSocket?._innerWebSocket?._webSocket?._stream?._connection?._socket); }