Esempio n. 1
0
        public override async Task OnConnected(WebSocket socket)
        {
            await base.OnConnected(socket);

            var socketId = WebSocketConnectionManager.GetId(socket);

            BaseSocketData baseSocketData = new BaseSocketData()
            {
                Pid  = WSMsg.ConnectInfo,
                Data = ""
            };

            await SendMessageAsync(socketId, JSONConvert.ObjectToJson <BaseSocketData>(baseSocketData));

            if (_tipMode)
            {
                SessionInfo sessionInfo = new SessionInfo()
                {
                    Channel  = "test",
                    ClientId = "psmon"
                };
                LoginInfo loginInfo = new LoginInfo()
                {
                    session = sessionInfo
                };
                BaseSocketData tipLoginData = new BaseSocketData()
                {
                    Pid  = WSMsg.LoginInfo,
                    Data = JSONConvert.ObjectToJson <LoginInfo>(loginInfo)
                };

                await SendMessageAsync(socketId, JSONConvert.ObjectToJson <BaseSocketData>(tipLoginData));
            }
        }
Esempio n. 2
0
        public override async Task OnDisconnected(WebSocket socket)
        {
            var            socketId   = WebSocketConnectionManager.GetId(socket);
            BaseSocketData socketData = new BaseSocketData();

            socketData.Pid           = WSMsg.DisconnectInfo;
            socketData.SocketHandler = this;
            socketData.SocketId      = socketId;
        }
Esempio n. 3
0
        public override async Task ReceiveAsync(WebSocket socket, WebSocketReceiveResult result, byte[] buffer)
        {
            var            socketId         = WebSocketConnectionManager.GetId(socket);
            var            socketDataString = $"{Encoding.UTF8.GetString(buffer, 0, result.Count)}";
            var            message          = "";
            BaseSocketData socketData       = new BaseSocketData();

            if (socketData.ReadToObject(socketDataString))
            {
                socketData.SocketHandler = this;
                socketData.SocketId      = socketId;
                _sessionManagerActor.Tell(socketData);
                message = $"{socketId} said Json : {Encoding.UTF8.GetString(buffer, 0, result.Count)}";
            }
            else
            {
                message = $"{socketId} said PlainText(Bad Request) : {Encoding.UTF8.GetString(buffer, 0, result.Count)}";
            }
            //await SendMessageToAllAsync(message);
        }