Ejemplo n.º 1
0
 public NetBase()
 {
     Port          = "8888";
     Timer timer   = new Timer(OnTimer, new ServerState(), 5000, 30000);
     OnData        += new OnDataHandler(HandleNewData);
     OnConnection  += new OnConnectionHandler(HandleNewConnection);
 }
Ejemplo n.º 2
0
        public NetBase()
        {
            Port = "8888";
            Timer timer = new Timer(OnTimer, new ServerState(), 5000, 30000);

            OnData       += new OnDataHandler(HandleNewData);
            OnConnection += new OnConnectionHandler(HandleNewConnection);
        }
Ejemplo n.º 3
0
        async void BeginReceiveMessages()
        {
            isReceiving = true;

            while (isReceiving && client.State == WebSocketState.Open)
            {
                WebSocketReceiveResult receiveResult = null;

                using (var ms = new MemoryStream())
                {
                    do
                    {
                        receiveResult = await client.ReceiveAsync(clientBuffer, CancellationToken.None);

                        ms.Write(clientBuffer.Array, clientBuffer.Offset, receiveResult.Count);
                    }while (!receiveResult.EndOfMessage);


                    // close socket if requested by server, return
                    if (receiveResult.MessageType == WebSocketMessageType.Close)
                    {
                        await CloseSocket(receiveResult.CloseStatusDescription);

                        return;
                    }

                    if (receiveResult.MessageType == WebSocketMessageType.Binary)
                    {
                        ProcessBinaryMessage();
                    }
                    else if (receiveResult.MessageType == WebSocketMessageType.Text)
                    {
                        var tick = DeserializeJsonToObject(ms);
                        OnDataHandler?.HandleData(tick);
                    }
                }

                T DeserializeJsonToObject(MemoryStream ms)
                {
                    //using (var ms = new MemoryStream(receiveBuffer, 0, messageLength, false))
                    using (var sr = new StreamReader(ms, readEncoding, false))
                        using (var reader = new JsonTextReader(sr))
                        {
                            return(jsonSerializer.Deserialize <T>(reader));
                        }
                }

                void ProcessBinaryMessage()
                {
                }
            }
        }