private void OnQuoteGetStatus(object sender, COM_STATUS staus, byte[] msg) { QuoteCom com = (QuoteCom)sender; string smsg = null; switch (staus) { case COM_STATUS.LOGIN_READY: AddInfo(String.Format("LOGIN_READY:[{0}]", encoding.GetString(msg))); break; case COM_STATUS.LOGIN_FAIL: AddInfo(String.Format("LOGIN FAIL:[{0}]", encoding.GetString(msg))); break; case COM_STATUS.LOGIN_UNKNOW: AddInfo(String.Format("LOGIN UNKNOW:[{0}]", encoding.GetString(msg))); break; case COM_STATUS.CONNECT_READY: //quoteCom.Login(tfcom.Main_ID, tfcom.Main_PWD, tfcom.Main_CENTER); smsg = "QuoteCom: [" + encoding.GetString(msg) + "] MyIP=" + quoteCom.MyIP; AddInfo(smsg); break; case COM_STATUS.CONNECT_FAIL: smsg = encoding.GetString(msg); AddInfo("CONNECT_FAIL:" + smsg); break; case COM_STATUS.DISCONNECTED: smsg = encoding.GetString(msg); AddInfo("DISCONNECTED:" + smsg); break; case COM_STATUS.SUBSCRIBE: smsg = encoding.GetString(msg, 0, msg.Length - 1); AddInfo(String.Format("SUBSCRIBE:[{0}]", smsg)); //txtQuoteList.AppendText(String.Format("SUBSCRIBE:[{0}]", smsg)); //2012.02.16 LYNN TEMPORARY ; break; case COM_STATUS.UNSUBSCRIBE: smsg = encoding.GetString(msg, 0, msg.Length - 1); AddInfo(String.Format("UNSUBSCRIBE:[{0}]", smsg)); break; case COM_STATUS.ACK_REQUESTID: long RequestId = BitConverter.ToInt64(msg, 0); byte status = msg[8]; AddInfo("Request Id BACK: " + RequestId + " Status=" + status); break; case COM_STATUS.RECOVER_DATA: smsg = encoding.GetString(msg, 1, msg.Length - 1); if (!RecoverMap.ContainsKey(smsg)) { RecoverMap.Add(smsg, 0); } if (msg[0] == 0) { RecoverMap[smsg] = 0; AddInfo(String.Format("開始回補 Topic:[{0}]", smsg)); } if (msg[0] == 1) { AddInfo(String.Format("結束回補 Topic:[{0} 筆數:{1}]", smsg, RecoverMap[smsg])); } break; } com.Processed(); }
private void OnQuoteGetStatus(object sender, COM_STATUS staus, byte[] msg) { QuoteCom com = (QuoteCom)sender; string smsg = ""; switch (staus) { case COM_STATUS.LOGIN_READY: Console.WriteLine(String.Format("LOGIN_READY")); Console.WriteLine(smsg); break; case COM_STATUS.LOGIN_FAIL: Console.WriteLine(String.Format("LOGIN FAIL:[{0}]", encoding.GetString(msg))); break; case COM_STATUS.LOGIN_UNKNOW: Console.WriteLine(String.Format("LOGIN UNKNOW:[{0}]", encoding.GetString(msg))); break; case COM_STATUS.CONNECT_READY: smsg = "QuoteCom: [" + encoding.GetString(msg) + "] MyIP=" + quoteCom.MyIP; break; case COM_STATUS.CONNECT_FAIL: smsg = encoding.GetString(msg); Console.WriteLine("CONNECT_FAIL:" + smsg); break; case COM_STATUS.DISCONNECTED: smsg = encoding.GetString(msg); Console.WriteLine("DISCONNECTED:" + smsg); break; case COM_STATUS.SUBSCRIBE: smsg = encoding.GetString(msg, 0, msg.Length - 1); Console.WriteLine(String.Format("SUBSCRIBE:[{0}]", smsg)); break; case COM_STATUS.UNSUBSCRIBE: smsg = encoding.GetString(msg, 0, msg.Length - 1); Console.WriteLine(String.Format("UNSUBSCRIBE:[{0}]", smsg)); break; case COM_STATUS.ACK_REQUESTID: long RequestId = BitConverter.ToInt64(msg, 0); byte status = msg[8]; Console.WriteLine("Request Id BACK: " + RequestId + " Status=" + status); break; case COM_STATUS.RECOVER_DATA: smsg = encoding.GetString(msg, 1, msg.Length - 1); if (!RecoverMap.ContainsKey(smsg)) { RecoverMap.Add(smsg, 0); } if (msg[0] == 0) { RecoverMap[smsg] = 0; Console.WriteLine(String.Format("開始回補 Topic:[{0}]", smsg)); } if (msg[0] == 1) { Console.WriteLine(String.Format("結束回補 Topic:[{0} 筆數:{1}]", smsg, RecoverMap[smsg])); } break; } com.Processed(); }