示例#1
0
        public void Test()
        {
            var mockEioHandler = new Mock <IEioHandler>();

            mockEioHandler
            .Setup(x => x.CheckConnection(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(new ConnectionResult
            {
                Result = true,
                Id     = "BpXgajlbwVH1qR4QBvKz"
            });

            var processor = new ConnectedProcessor();
            ConnectionResult connectionResult = null;

            processor.Process(new MessageContext
            {
                EioHandler       = mockEioHandler.Object,
                ConnectedHandler = result => connectionResult = result
            });

            mockEioHandler.Verify(x => x.CheckConnection(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
            Assert.IsTrue(connectionResult.Result);
            Assert.AreEqual("BpXgajlbwVH1qR4QBvKz", connectionResult.Id);
        }
示例#2
0
 public ConnectionProcessorProxy(ConnectedProcessor connectedProcessor, int clientCode, Client client, Queue <KeyValuePair <int, Client> > removeClients)
 {
     this.connectedProcessor = connectedProcessor;
     this.clientCode         = clientCode;
     this.client             = client;
     this.removeClients      = removeClients;
 }
示例#3
0
 public void Connect(String ip, int port, ConnectedProcessor connectedProcessor)
 {
     this.ip            = ip;
     this.port          = port;
     ConnectedProcessor = connectedProcessor;
     DoConnect();
 }
示例#4
0
 public override void ConnectFail()
 {
     isOpenIng = false;
     if (ConnectedProcessor != null)
     {
         ConnectedProcessor.OnConnected(false, this);
     }
 }
示例#5
0
 public void Connect(int clientCode, String ip, int port, Client client, ConnectedProcessor connectedProcessor)
 {
     if (otherClients.ContainsKey(clientCode))
     {
         Client oldClient = otherClients[clientCode];
         oldClient.Close();
     }
     AddClient(clientCode, client);
     client.Connect(ip, port, new ConnectionProcessorProxy(connectedProcessor, clientCode, client, this.removeClients));
 }
示例#6
0
 public override void OnConnect(Session session)
 {
     isOpenIng = false;
     if (ConnectedProcessor != null)
     {
         ConnectedProcessor.OnConnected(true, this);
     }
     session.cmdDelegate.OnMsgPush = OnMsgPush;
     SendLoginPackage();
 }
示例#7
0
 public override void Closed(Session session)
 {
     logReport.OnWarningReport("notiec client close,session id:" + session.Id);
     if (ConnectedProcessor != null)
     {
         if (IsOffline())
         {
             ConnectedProcessor.OnOffline();
         }
     }
 }
示例#8
0
文件: Client.cs 项目: Pasdedeux/LTool
 public override void OnConnect(Session session)
 {
     isOpenIng = false;
     if (ConnectedProcessor != null)
     {
         ConnectedProcessor.OnConnected(true, this);
     }
     logReport.OnLogReport("session id:" + session.Id + ",ip:" + ip + ",port:" + port + " connect success.");
     session.cmdDelegate.OnMsgPush = OnMsgPush;
     SendLoginPackage();
 }
示例#9
0
 public void BgConnect(string ip, int port, Client client, ConnectedProcessor connectedProcessor)
 {
     client.Connect(ip, port, connectedProcessor);
 }