示例#1
0
        public void MobileSendingCallback(object sender, EventArgs args)
        {
            var     eventArg = args as Mobile.SendCommandEventArg;
            Session sessionId;

            if (!Session.TryParse(eventArg.SessionId, out sessionId))
            {
                return;
            }
            Trader.Server.Ssl.Client client = AgentController.GetSender(sessionId);
            UnmanagedMemory          mem    = Serialization.SerializeManager.Default.Serialize(Serialization.SerializedInfo.CreateForXml(sessionId, null, eventArg.XElement));
            var commandForClient            = new ValueObjects.CommandForClient(mem, null, null);

            client.Send(commandForClient);
        }
 public void Initialize(Session clientId,Client sender,string remoteIp)
 {
     this.ClientId = clientId;
     this.Sender = sender;
     this.RemoteIp = remoteIp;
 }
示例#3
0
 public void Add(long session, ReceiveAgent receiver, Client sender)
 {
     this._Container.TryAdd(session, new ClientRelation(sender, receiver));
 }
示例#4
0
 public ClientRelation(Client sender, ReceiveAgent receiver)
 {
     this._Receiver = receiver;
     this._Sender = sender;
 }
示例#5
0
 private void OnServerConnectionAvailable(object sender, SecureConnectionResults args)
 {
     try
     {
         if (args.AsyncException != null)
         {
             _Log.ErrorFormat("Client connection failed {0}", args.AsyncException);
             return;
         }
         SslInfo sslInfo = args.SecureInfo;
         Session session = SessionMapping.Get();
         Client client = new Client(sslInfo.SslStream, session, sslInfo.NetworkStream.BufferInUsed,sslInfo.Socket);
         SenderReceiverPair relation = new SenderReceiverPair(client, new ReceiveAgent());
         Application.Default.AgentController.Add(session, relation.Receiver, relation.Sender);
     }
     catch (Exception ex)
     {
         _Log.Error(ex);
     }
 }
 public SenderReceiverPair(Client sender, ReceiveAgent receiver)
 {
     this._Receiver = receiver;
     this._Sender = sender;
 }
 public void Add(Session session, ReceiveAgent receiver, Client sender)
 {
     _ClientsProcessor.Add(session, receiver, sender);
 }
 public bool Add(Session session, ReceiveAgent receiver,Client sender)
 {
     return _Clients.TryAdd(session, new SenderReceiverPair(sender, receiver));
 }