コード例 #1
0
        public async Task <bool> SendStatusReq()
        {
            ConnectionStatusRequest stat = new ConnectionStatusRequest();

            stat.Build(_receiveEndPoint, _communicationChannel);
            stat.SetChannelId(_communicationChannel);
            await Send(stat.GetBytes());

            await Task.Delay(200);

            return(IsConnected);
        }
コード例 #2
0
        public bool Handle(IRequestMessage msg)
        {
            Type msgType = msg.GetType();

            if (typeof(IRequestMessage).IsAssignableFrom(msgType))
            {
                if (typeof(ConnectionStatusRequest) == msgType)
                {
                    ConnectionStatusRequest cs = (ConnectionStatusRequest)msg;
                    Sessions.Push(Sessions.GetUsername(cs.ClientKey), new IResponseMessage[] { new ConnectionStatusResponse()
                                                                                               {
                                                                                                   ClientKey = cs.ClientKey, IsConnected = true
                                                                                               } });
                    return(true);
                }
            }
            return(false);
        }