private void initConnection(JavaWebSocket ws)
 {
     sockets.Add(ws);
     initMessageHandler(ws);
     initErrorHandler(ws);
     write(ws, queryChainLengthMsg());
 }
        public void initP2PServer()
        {
            JavaWebSocket server = JavaWebSocket.Server(p2p_port);

            server.onConnection = ws => initConnection(ws);
            log($"listening websocket p2p port on: {p2p_port}");
        }
Exemple #3
0
        public void ConstructorTestMethod()
        {
            JavaWebSocket _new         = new JavaWebSocket(new Uri("http://localhost:3001"));
            string        _description = _new.ToString();

            Assert.IsFalse(String.IsNullOrEmpty(_description));
            Assert.AreEqual <string>("http://localhost:3001/", _description);
        }
 public void connectToPeers(Uri[] newPeers)
 {
     foreach (Uri peer in newPeers)
     {
         JavaWebSocket ws = new JavaWebSocket(peer);
         ws.onOpen  = () => initConnection(ws);
         ws.onError = () => log("connection failed");
     }
 }
        private void initErrorHandler(JavaWebSocket ws)
        {
            Action <JavaWebSocket> closeConnection = (_ws) =>
            {
                log($"connection failed to peer: {_ws.url}");
                sockets.splice(sockets.IndexOf(ws), 1);
            };

            ws.onClose = () => closeConnection(ws);
            ws.onError = () => closeConnection(ws);
        }
        private void initMessageHandler(JavaWebSocket ws)
        {
            ws.onMessage = (data) =>
            {
                Message message = Message.parse(data);
                log($"Received message { message.stringify()}");
                switch (message.type)
                {
                case MessageType.QUERY_LATEST:
                    write(ws, responseLatestMsg());
                    break;

                case MessageType.QUERY_ALL:
                    write(ws, responseChainMsg());
                    break;

                case MessageType.RESPONSE_BLOCKCHAIN:
                    handleBlockchainResponse(message);
                    break;
                }
                ;
            };
        }
 private void write(JavaWebSocket ws, Message message)
 {
     ws.send(message.stringify());
 }