Example #1
0
        public static async Task <WebSocketConnection> Connect(Uri peer, Action <string> log)
        {
            ClientWebSocket m_ClientWebSocket = new ClientWebSocket();
            await m_ClientWebSocket.ConnectAsync(peer, CancellationToken.None);

            switch (m_ClientWebSocket.State)
            {
            case WebSocketState.Open:
                log($"Opening WebSocket connection to remote server {peer}");
                WebSocketConnection _socket = new ClintWebSocketConnection(m_ClientWebSocket, peer, log);
                return(_socket);

            default:
                log?.Invoke($"Cannot connect to remote node status {m_ClientWebSocket.State}");
                throw new WebSocketException($"Cannot connect to remote node status {m_ClientWebSocket.State}");
            }
        }
Example #2
0
        internal static async Task Connect(Uri peer, Action <WebSocketConnection> onOpen, Action <string> log)
        {
            ClientWebSocket m_ClientWebSocket = new ClientWebSocket();
            await m_ClientWebSocket.ConnectAsync(peer, CancellationToken.None);

            switch (m_ClientWebSocket.State)
            {
            case WebSocketState.Open:
                log($"Opening WebSocket connection to remote server {peer}");
                WebSocketConnection _socket = new ClintWebSocketConnection(m_ClientWebSocket, peer, log);
                onOpen?.Invoke(_socket);
                break;

            default:
                log?.Invoke($"Cannot connect to remote node status {m_ClientWebSocket.State}");
                break;
            }
        }