Example #1
0
        public TrdUnlockTrade.Response UnlockTradeSync(String pwdMD5, bool isUnlock)
        {
            ReqInfo reqInfo   = null;
            Object  syncEvent = new Object();

            lock (syncEvent)
            {
                lock (trdLock)
                {
                    if (trdConnStatus != ConnStatus.READY)
                    {
                        return(null);
                    }
                    TrdUnlockTrade.C2S c2s = TrdUnlockTrade.C2S.CreateBuilder()
                                             .SetPwdMD5(pwdMD5)
                                             .SetUnlock(isUnlock)
                                             .Build();
                    TrdUnlockTrade.Request req = TrdUnlockTrade.Request.CreateBuilder().SetC2S(c2s).Build();
                    uint sn = trd.UnlockTrade(req);
                    if (sn == 0)
                    {
                        return(null);
                    }
                    reqInfo = new ReqInfo(ProtoID.TrdUnlockTrade, syncEvent);
                    trdReqInfoMap.Add(sn, reqInfo);
                }
                Monitor.Wait(syncEvent);
                return((TrdUnlockTrade.Response)reqInfo.Rsp);
            }
        }
Example #2
0
 public void OnReply_GetAccList(FTAPI_Conn client, int nSerialNo, TrdGetAccList.Response rsp)
 {
     Console.WriteLine("Recv GetAccList: {0} {1}", nSerialNo, rsp);
     if (rsp.RetType != (int)Common.RetType.RetType_Succeed)
     {
         Console.WriteLine("error code is {0}", rsp.RetMsg);
     }
     else
     {
         this.accID = rsp.S2C.AccListList[1].AccID;
         FTAPI_Trd trd              = client as FTAPI_Trd;
         MD5       md5              = MD5.Create();
         byte[]    encryptionBytes  = md5.ComputeHash(Encoding.UTF8.GetBytes("196910"));
         string    unlockPwdMd5     = BitConverter.ToString(encryptionBytes).Replace("-", "").ToLower();
         TrdUnlockTrade.Request req = TrdUnlockTrade.Request.CreateBuilder().SetC2S(TrdUnlockTrade.C2S.CreateBuilder().SetUnlock(true).SetPwdMD5(unlockPwdMd5)).Build();
         uint serialNo              = trd.UnlockTrade(req);
         Console.WriteLine("Send UnlockTrade: {0}", serialNo);
     }
 }
Example #3
0
 /***
  * 解锁,具体字段请参考Trd_UnlockTrade.proto协议
  * @param req
  * @return 请求的序列号
  */
 public uint UnlockTrade(TrdUnlockTrade.Request req)
 {
     return(SendProto((uint)ProtoID.TrdUnlockTrade, req));
 }