Ejemplo n.º 1
0
        private void EstablishConnection(Action <bool, string, bool> connectCompletionHandler)
        {
            Packet.Connect connReq = new Packet.Connect();
            connReq.userid   = AuthClientId;
            connReq.password = AuthPwd;

            byte[] data = DataTranslater.Serialize(connReq);

            BookRequest(typeof(Packet.Connect).Name, connectCompletionHandler);

            _connection.SendAsync(MsgType.CONN, data,
                                  delegate(bool succ, string msg)
            {
                if (succ)
                {
                    Trace.WriteLine("Request establish connection");
                }
                else
                {
                    RemoveBookedRequest(typeof(Packet.Connect).Name);
                    connectCompletionHandler(
                        false, string.Format("Attempt to establish connection failed due to {0}", msg), false);
                }
            });
        }
Ejemplo n.º 2
0
        public void RequestAsync(string method, byte[] reqData, ResponseHandlerDel responseHandler)
        {
            Packet.Request req = new Packet.Request()
            {
                session    = SessionId,
                method     = method,
                param_data = reqData
            };

            byte[] data = DataTranslater.Serialize(req);

            BookRequest(method, responseHandler);

            _connection.SendAsync(MsgType.REQ, data,
                                  delegate(bool succ, string msg)
            {
                if (succ)
                {
                    Trace.WriteLine(string.Format("Request {0} success.", method));
                }
                else
                {
                    RemoveBookedRequest(method);
                    responseHandler(false, null, msg);
                }
            });
        }
Ejemplo n.º 3
0
 private void HeartbeatProc(object state)
 {
     try
     {
         Packet.Heartbeat hb = new Packet.Heartbeat();
         hb.timestamp = (int)DateTime.Now.TimeOfDay.TotalSeconds;
         byte[] data = DataTranslater.Serialize(hb);
         _connection.SendAsync(MsgType.HEARTBEAT, data, null);
     }
     catch (System.Exception ex)
     {
         Debug.WriteLine("Sending heartbeat failed due to {0}", ex.Message);
     }
 }