/// <summary> /// 获取历史数据 /// </summary> /// <param name="dataInfo"></param> /// <param name="datas"></param> /// <param name="body"></param> /// <param name="bodyLength"></param> /// <returns></returns> public static int GetHistoryDatas(ref HistoryDataInfo dataInfo, List <SecurityData> datas, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); dataInfo.m_securityCode = binary.ReadString(); dataInfo.m_type = binary.ReadChar(); dataInfo.m_size = binary.ReadInt(); dataInfo.m_cycle = binary.ReadInt(); dataInfo.m_subscription = binary.ReadInt(); dataInfo.m_startDate = binary.ReadDouble(); dataInfo.m_endDate = binary.ReadDouble(); dataInfo.m_pushData = binary.ReadBool(); int size = dataInfo.m_size; for (int i = 0; i < size; i++) { SecurityData item = new SecurityData(); item.m_date = binary.ReadDouble(); item.m_close = binary.ReadFloat(); item.m_high = binary.ReadFloat(); item.m_low = binary.ReadFloat(); item.m_open = binary.ReadFloat(); item.m_volume = binary.ReadDouble(); item.m_amount = binary.ReadDouble(); if (dataInfo.m_cycle == 0) { item.m_avgPrice = binary.ReadFloat(); } datas.Add(item); } binary.Close(); return(1); }
/// <summary> /// 回调函数 /// </summary> /// <param name="socketID">连接ID</param> /// <param name="localSID">本地连接ID</param> /// <param name="str">数据</param> /// <param name="len">长度</param> public static void CallBack(int socketID, int localSID, IntPtr str, int len) { m_downFlow += len; try { if (len > 4) { byte[] bytes = GetValueChar(str, len); Binary br = new Binary(); br.Write(bytes, len); int head = br.ReadInt(); int groupID = br.ReadShort(); int serviceID = br.ReadShort(); BaseService service = null; if (m_services.ContainsKey(serviceID)) { m_services[serviceID].OnCallBack(br, socketID, localSID, len); } br.Close(); } } catch (Exception ex) { Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); } }
public static int GetFilterResults(Dictionary <string, double[]> datas, ref int currentBatch, ref int totalBatch, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); currentBatch = binary.ReadInt(); totalBatch = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { string str = binary.ReadString(); int num3 = binary.ReadInt(); double[] numArray = new double[num3]; for (int j = 0; j < num3; j++) { numArray[j] = binary.ReadDouble(); } datas[str] = numArray; } } binary.Close(); return(1); }
/// <summary> /// 通过流获取登录信息 /// </summary> /// <param name="loginInfos">登录信息</param> /// <param name="body">包体</param> /// <param name="bodyLength">包体长度</param> public static int GetLoginInfos(List <LoginInfo> loginInfos, byte[] body, int bodyLength) { Binary br = new Binary(); br.Write(body, bodyLength); int size = br.ReadInt(); if (size > 0) { for (int i = 0; i < size; i++) { LoginInfo loginInfo = new LoginInfo(); loginInfo.m_userID = br.ReadInt(); loginInfo.m_userName = br.ReadString(); loginInfo.m_passWord = br.ReadString(); loginInfo.m_nickName = br.ReadString(); loginInfo.m_type = br.ReadInt(); loginInfo.m_state = br.ReadInt(); loginInfo.m_sessionID = br.ReadInt(); loginInfos.Add(loginInfo); } } br.Close(); return(1); }
public static int GetMacros(List <Macro> macros, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { Macro item = new Macro(); item.m_macroID = binary.ReadString(); item.m_userID = binary.ReadInt(); item.m_name = binary.ReadString(); item.m_description = binary.ReadString(); item.m_icon = binary.ReadString(); item.m_script = binary.ReadString(); item.m_type = binary.ReadInt(); item.m_interval = binary.ReadInt(); item.m_cd = binary.ReadInt(); item.m_orderNum = binary.ReadInt(); macros.Add(item); } } binary.Close(); return(1); }
public static int GetTemplates(List <SecurityFilterTemplate> templates, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { SecurityFilterTemplate item = new SecurityFilterTemplate(); item.m_templateID = binary.ReadString(); item.m_userID = binary.ReadInt(); item.m_name = binary.ReadString(); item.m_codes = binary.ReadString(); item.m_indicator = binary.ReadString(); item.m_parameters = binary.ReadString(); item.m_filter = binary.ReadString(); item.m_cycle = binary.ReadInt(); item.m_subscription = binary.ReadInt(); item.m_orderNum = binary.ReadInt(); templates.Add(item); } } binary.Close(); return(1); }
public static int GetSecurities(List <Security> securities, int functionID, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { Security item = new Security(); item.m_code = binary.ReadString(); if (functionID == 0) { item.m_name = binary.ReadString(); item.m_pingyin = binary.ReadString(); item.m_type = binary.ReadShort(); item.m_status = binary.ReadChar(); } securities.Add(item); } } binary.Close(); return(1); }
public int Send(int functionID, int requestID, List <Macro> macros) { Binary binary = new Binary(); int count = macros.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { Macro macro = macros[i]; binary.WriteString(macro.m_macroID); binary.WriteInt(macro.m_userID); binary.WriteString(macro.m_name); binary.WriteString(macro.m_description); binary.WriteString(macro.m_icon); binary.WriteString(macro.m_script); binary.WriteInt(macro.m_type); binary.WriteInt(macro.m_interval); binary.WriteInt(macro.m_cd); binary.WriteInt(macro.m_orderNum); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
public static int GetIndicators(List <Indicator> indicators, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { Indicator item = new Indicator(); item.m_indicatorID = binary.ReadString(); item.m_userID = binary.ReadInt(); item.m_category = binary.ReadString(); item.m_coordinate = binary.ReadString(); item.m_description = binary.ReadString(); item.m_digit = binary.ReadInt(); item.m_name = binary.ReadString(); item.m_orderNum = binary.ReadInt(); item.m_paintType = binary.ReadInt(); item.m_parameters = binary.ReadString(); item.m_password = binary.ReadString(); item.m_specialCoordinate = binary.ReadString(); item.m_text = binary.ReadString(); item.m_type = binary.ReadInt(); item.m_usePassword = binary.ReadInt(); item.m_version = binary.ReadInt(); indicators.Add(item); } } binary.Close(); return(1); }
public int Send(int functionID, int requestID, List <Indicator> indicators) { Binary binary = new Binary(); int count = indicators.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { Indicator indicator = indicators[i]; binary.WriteString(indicator.m_indicatorID); binary.WriteInt(indicator.m_userID); binary.WriteString(indicator.m_category); binary.WriteString(indicator.m_coordinate); binary.WriteString(indicator.m_description); binary.WriteInt(indicator.m_digit); binary.WriteString(indicator.m_name); binary.WriteInt(indicator.m_orderNum); binary.WriteInt(indicator.m_paintType); binary.WriteString(indicator.m_parameters); binary.WriteString(indicator.m_password); binary.WriteString(indicator.m_specialCoordinate); binary.WriteString(indicator.m_text); binary.WriteInt(indicator.m_type); binary.WriteInt(indicator.m_usePassword); binary.WriteInt(indicator.m_version); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
public int Send(int functionID, int requestID, List <SecurityFilterTemplate> templates) { Binary binary = new Binary(); int count = templates.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { SecurityFilterTemplate template = templates[i]; binary.WriteString(template.m_templateID); binary.WriteInt(template.m_userID); binary.WriteString(template.m_name); binary.WriteString(template.m_codes); binary.WriteString(template.m_indicator); binary.WriteString(template.m_parameters); binary.WriteString(template.m_filter); binary.WriteInt(template.m_cycle); binary.WriteInt(template.m_subscription); binary.WriteInt(template.m_orderNum); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
/// <summary> /// 获取表格数据 /// </summary> /// <param name="grid">表格</param> /// <returns>流</returns> public byte[] GetBytes(GridA grid) { Binary br = new Binary(); br.WriteString(grid.Name); List <GridColumn> columns = grid.GetColumns(); int columnsSize = columns.Count; br.WriteInt(columnsSize); for (int i = 0; i < columnsSize; i++) { GridColumn column = columns[i]; br.WriteString(column.Name); br.WriteString(column.ColumnType); } List <GridRow> rows = grid.GetRows(); int rowsCount = rows.Count; br.WriteInt(rowsCount); for (int i = 0; i < rowsCount; i++) { GridRow row = rows[i]; for (int j = 0; j < columnsSize; j++) { GridColumn column = columns[j]; String columnType = column.ColumnType.ToLower(); GridCell cell = row.GetCell(j); if (columnType == "bool") { br.WriteBool(cell.GetBool()); } else if (columnType == "double") { br.WriteDouble(cell.GetDouble()); } else if (columnType == "float") { br.WriteFloat(cell.GetFloat()); } else if (columnType == "int") { br.WriteInt(cell.GetInt()); } else if (columnType == "long") { br.WriteDouble(cell.GetLong()); } else if (columnType == "string") { br.WriteString(cell.GetString()); } } } byte[] bytes = br.GetBytes(); br.Close(); return(bytes); }
/// <summary> /// 获取预测的成交量 /// </summary> /// <param name="requestID"></param> /// <param name="securityCode"></param> /// <returns></returns> public int GetVolumeForecast(int requestID, string securityCode) { Binary binary = new Binary(); binary.WriteInt(1); binary.WriteString(securityCode); binary.WriteDouble(0.0); byte[] bytes = binary.GetBytes(); binary.Close(); return((this.Send(new CMessage(base.GroupID, base.ServiceID, FUNCTIONID_QUOTE_GETVOLUMEFORECAST, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)) > 0) ? 1 : 0); }
public int GetSecuritiesByBlockID(int requestID, string blockID) { Binary binary = new Binary(); binary.WriteString(blockID); byte[] bytes = binary.GetBytes(); int num = this.Send(new CMessage(base.GroupID, base.ServiceID, 1, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return((num > 0) ? 1 : 0); }
/// <summary> /// 获取实时数据 /// </summary> /// <param name="dataInfo"></param> /// <param name="datas"></param> /// <param name="body"></param> /// <param name="bodyLength"></param> /// <returns></returns> public static int GetLatestDatas(ref LatestDataInfo dataInfo, List <SecurityLatestData> datas, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); dataInfo.m_formatType = binary.ReadChar(); dataInfo.m_lv2 = binary.ReadChar(); dataInfo.m_size = binary.ReadInt(); for (int i = 0; i < dataInfo.m_size; i++) { SecurityLatestData item = new SecurityLatestData(); item.m_securityCode = binary.ReadString(); item.m_open = binary.ReadFloat(); item.m_lastClose = binary.ReadFloat(); item.m_close = binary.ReadFloat(); item.m_high = binary.ReadFloat(); item.m_low = binary.ReadFloat(); item.m_volume = binary.ReadDouble(); item.m_amount = binary.ReadDouble(); if (dataInfo.m_formatType == 0) { item.m_buyVolume1 = binary.ReadInt(); item.m_buyPrice1 = binary.ReadFloat(); item.m_buyVolume2 = binary.ReadInt(); item.m_buyPrice2 = binary.ReadFloat(); item.m_buyVolume3 = binary.ReadInt(); item.m_buyPrice3 = binary.ReadFloat(); item.m_buyVolume4 = binary.ReadInt(); item.m_buyPrice4 = binary.ReadFloat(); item.m_buyVolume5 = binary.ReadInt(); item.m_buyPrice5 = binary.ReadFloat(); item.m_sellVolume1 = binary.ReadInt(); item.m_sellPrice1 = binary.ReadFloat(); item.m_sellVolume2 = binary.ReadInt(); item.m_sellPrice2 = binary.ReadFloat(); item.m_sellVolume3 = binary.ReadInt(); item.m_sellPrice3 = binary.ReadFloat(); item.m_sellVolume4 = binary.ReadInt(); item.m_sellPrice4 = binary.ReadFloat(); item.m_sellVolume5 = binary.ReadInt(); item.m_sellPrice5 = binary.ReadFloat(); item.m_innerVol = binary.ReadInt(); item.m_outerVol = binary.ReadInt(); item.m_turnoverRate = binary.ReadFloat(); item.m_openInterest = binary.ReadDouble(); item.m_settlePrice = binary.ReadFloat(); } item.m_date = binary.ReadDouble(); datas.Add(item); } binary.Close(); return(1); }
public int SendVisitsCount(int functionID, int requestID, UserSecurityVisitsCount visitsCount) { Binary binary = new Binary(); binary.WriteInt(visitsCount.m_userID); binary.WriteString(visitsCount.CodesToString()); byte[] bytes = binary.GetBytes(); int num = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num); }
/// <summary> /// 发送请求 /// </summary> /// <param name="functionID"></param> /// <param name="requestID"></param> /// <param name="socketID"></param> /// <param name="dataInfo"></param> /// <returns></returns> public int Send(int functionID, int requestID, int socketID, LatestDataInfo dataInfo) { Binary binary = new Binary(); binary.WriteString(dataInfo.m_codes); binary.WriteChar((char)dataInfo.m_formatType); binary.WriteChar((char)dataInfo.m_lv2); binary.WriteInt(dataInfo.m_size); byte[] bytes = binary.GetBytes(); int num = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num); }
/// <summary> /// 发送消息 /// </summary> /// <param name="message">消息</param> public virtual int Send(CMessage message) { Binary bw = new Binary(); byte[] body = message.m_body; int bodyLength = message.m_bodyLength; int uncBodyLength = bodyLength; if (message.m_compressType == COMPRESSTYPE_GZIP) { using (MemoryStream cms = new MemoryStream()) { using (GZipStream gzip = new GZipStream(cms, CompressionMode.Compress)) { gzip.Write(body, 0, body.Length); } body = cms.ToArray(); bodyLength = body.Length; } } int len = sizeof(int) * 4 + bodyLength + sizeof(short) * 3 + sizeof(byte) * 2; bw.WriteInt(len); bw.WriteShort((short)message.m_groupID); bw.WriteShort((short)message.m_serviceID); bw.WriteShort((short)message.m_functionID); bw.WriteInt(message.m_sessionID); bw.WriteInt(message.m_requestID); bw.WriteByte((byte)message.m_state); bw.WriteByte((byte)message.m_compressType); bw.WriteInt(uncBodyLength); bw.WriteBytes(body); byte[] bytes = bw.GetBytes(); int length = bytes.Length; IntPtr ptr = Marshal.AllocHGlobal(sizeof(byte) * length); for (int i = 0; i < length; i++) { IntPtr iptr = (IntPtr)((int)ptr + i); Marshal.WriteByte(iptr, bytes[i]); } int ret = SendByClient(message.m_socketID, ptr, length); m_upFlow += ret; Marshal.FreeHGlobal(ptr); bw.Close(); return(ret); }
/// <summary> /// 获取预测的成交量 /// </summary> /// <param name="datas"></param> /// <param name="body"></param> /// <param name="bodyLength"></param> /// <returns></returns> public static int GetVolumeForecastData(List <VolumeForecastData> datas, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); for (int i = 0; i < num; i++) { VolumeForecastData item = new VolumeForecastData(); item.m_securityCode = binary.ReadString(); item.m_rate = binary.ReadDouble(); datas.Add(item); } binary.Close(); return(1); }
/// <summary> /// 发送请求 /// </summary> /// <param name="functionID"></param> /// <param name="requestID"></param> /// <param name="socketID"></param> /// <param name="dataInfo"></param> /// <returns></returns> public int Send(int functionID, int requestID, int socketID, HistoryDataInfo dataInfo) { Binary binary = new Binary(); binary.WriteString(dataInfo.m_securityCode); binary.WriteChar((char)dataInfo.m_type); binary.WriteInt(dataInfo.m_size); binary.WriteInt(dataInfo.m_cycle); binary.WriteInt(dataInfo.m_subscription); binary.WriteDouble(dataInfo.m_startDate); binary.WriteDouble(dataInfo.m_endDate); binary.WriteBool(dataInfo.m_pushData); byte[] bytes = binary.GetBytes(); int num = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num); }
/// <summary> /// 获取弹幕信息 /// </summary> /// <param name="datas">用于返回弹幕信息</param> /// <param name="body">包体</param> /// <param name="bodyLength">包体长度</param> /// <returns></returns> public static int GetChatDatas(List <ChatData> datas, byte[] body, int bodyLength) { Binary br = new Binary(); br.Write(body, bodyLength); int size = br.ReadInt(); for (int i = 0; i < size; i++) { ChatData chat = new ChatData(); chat.m_userID = br.ReadInt(); chat.m_type = br.ReadChar(); chat.m_text = br.ReadString(); datas.Add(chat); } br.Close(); return(1); }
/// <summary> /// 发送消息 /// </summary> /// <param name="functionID">方法ID</param> /// <param name="requestID">请求ID</param> /// <param name="sessions">用户会话集合</param> /// <returns>状态</returns> public int Send(int functionID, int requestID, List <UserSession> sessions) { Binary bw = new Binary(); int size = sessions.Count; bw.WriteInt(size); for (int i = 0; i < size; i++) { UserSession session = sessions[i]; bw.WriteInt(session.m_userID); bw.WriteString(session.m_key); bw.WriteString(session.m_value); } byte[] bytes = bw.GetBytes(); int ret = Send(new CMessage(GroupID, ServiceID, functionID, SessionID, requestID, m_socketID, 0, CompressType, bytes.Length, bytes)); bw.Close(); return(ret); }
/// <summary> /// 发送消息 /// </summary> /// <param name="userID">方法ID</param> /// <param name="userID">请求ID</param> /// <param name="text">发送字符</param> public int SendToAllClients(int functionID, int requestID, List <ChatData> datas) { Binary bw = new Binary(); int chatSize = datas.Count; bw.WriteInt(chatSize); for (int i = 0; i < chatSize; i++) { ChatData chat = datas[i]; bw.WriteInt(chat.m_userID); bw.WriteChar((char)chat.m_type); bw.WriteString(chat.m_text); } byte[] bytes = bw.GetBytes(); int ret = Send(new CMessage(GroupID, ServiceID, functionID, SessionID, requestID, m_socketID, 0, CompressType, bytes.Length, bytes)); bw.Close(); return(ret); }
/// <summary> /// 保持活跃 /// </summary> /// <param name="socketID">套接字ID</param> /// <returns>状态</returns> public virtual int KeepAlive(int socketID) { Binary bw = new Binary(); bw.WriteInt((int)4); byte[] bytes = bw.GetBytes(); int length = bytes.Length; IntPtr ptr = Marshal.AllocHGlobal(sizeof(byte) * length); for (int i = 0; i < length; i++) { IntPtr iptr = (IntPtr)((int)ptr + i); Marshal.WriteByte(iptr, bytes[i]); } int ret = SendByClient(socketID, ptr, length); Marshal.FreeHGlobal(ptr); bw.Close(); return(ret); }
/// <summary> /// 获取交易数据 /// </summary> /// <param name="securityCode"></param> /// <param name="transactionDatas"></param> /// <param name="body"></param> /// <param name="bodyLength"></param> /// <returns></returns> public static int GetTransactionDatas(ref string securityCode, List <TransactionData> transactionDatas, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); securityCode = binary.ReadString(); int num = binary.ReadInt(); for (int i = 0; i < num; i++) { TransactionData item = new TransactionData(); item.m_date = binary.ReadDouble(); item.m_price = binary.ReadFloat(); item.m_volume = binary.ReadDouble(); item.m_type = binary.ReadChar(); transactionDatas.Add(item); } binary.Close(); return(1); }
/// <summary> /// 通过流获取用户会话 /// </summary> /// <param name="sessions">用户会话</param> /// <param name="body">包体</param> /// <param name="bodyLength">包体长度</param> public static int GetSessions(List <UserSession> sessions, byte[] body, int bodyLength) { Binary br = new Binary(); br.Write(body, bodyLength); int size = br.ReadInt(); if (size > 0) { for (int i = 0; i < size; i++) { UserSession session = new UserSession(); session.m_userID = br.ReadInt(); session.m_key = br.ReadString(); session.m_value = br.ReadString(); sessions.Add(session); } } br.Close(); return(1); }
/// <summary> /// 获取实时数据L2 /// </summary> /// <param name="dataInfo"></param> /// <param name="datas"></param> /// <param name="body"></param> /// <param name="bodyLength"></param> /// <returns></returns> public static int GetLatestDatasLV2(ref LatestDataInfoLV2 dataInfo, List <SecurityLatestDataLV2> datas, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); dataInfo.m_size = binary.ReadInt(); for (int i = 0; i < dataInfo.m_size; i++) { SecurityLatestDataLV2 item = new SecurityLatestDataLV2(); item.m_securityCode = binary.ReadString(); item.m_allBuyVol = binary.ReadDouble(); item.m_avgBuyPrice = binary.ReadFloat(); item.m_allSellVol = binary.ReadDouble(); item.m_avgSellPrice = binary.ReadFloat(); item.m_buyVolume6 = binary.ReadInt(); item.m_buyPrice6 = binary.ReadFloat(); item.m_buyVolume7 = binary.ReadInt(); item.m_buyPrice7 = binary.ReadFloat(); item.m_buyVolume8 = binary.ReadInt(); item.m_buyPrice8 = binary.ReadFloat(); item.m_buyVolume9 = binary.ReadInt(); item.m_buyPrice9 = binary.ReadFloat(); item.m_buyVolume10 = binary.ReadInt(); item.m_buyPrice10 = binary.ReadFloat(); item.m_sellVolume6 = binary.ReadInt(); item.m_sellPrice6 = binary.ReadFloat(); item.m_sellVolume7 = binary.ReadInt(); item.m_sellPrice7 = binary.ReadFloat(); item.m_sellVolume8 = binary.ReadInt(); item.m_sellPrice8 = binary.ReadFloat(); item.m_sellVolume9 = binary.ReadInt(); item.m_sellPrice9 = binary.ReadFloat(); item.m_sellVolume10 = binary.ReadInt(); item.m_sellPrice10 = binary.ReadFloat(); datas.Add(item); } binary.Close(); return(1); }
public int Send(int functionID, int requestID, List <UserSecurityCategory> categories) { Binary binary = new Binary(); int count = categories.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { UserSecurityCategory category = categories[i]; binary.WriteString(category.m_categoryID); binary.WriteInt(category.m_userID); binary.WriteString(category.m_name); binary.WriteString(category.m_codes); binary.WriteInt(category.m_type); binary.WriteInt(category.m_orderNum); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
public int Send(int functionID, int requestID, List <IndicatorLayout> layouts) { Binary binary = new Binary(); int count = layouts.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { IndicatorLayout layout = layouts[i]; binary.WriteString(layout.m_layoutID); binary.WriteInt(layout.m_userID); binary.WriteString(layout.m_name); binary.WriteString(layout.m_text); binary.WriteInt(layout.m_type); binary.WriteInt(layout.m_orderNum); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
/// <summary> /// 发送消息 /// </summary> /// <param name="functionID">方法ID</param> /// <param name="requestID">请求ID</param> /// <param name="loginInfos">登录信息集合</param> /// <returns>状态</returns> public int Send(int functionID, int requestID, List <LoginInfo> loginInfos) { Binary bw = new Binary(); int loginInfosSize = loginInfos.Count; bw.WriteInt(loginInfosSize); for (int i = 0; i < loginInfosSize; i++) { LoginInfo loginInfo = loginInfos[i]; bw.WriteInt(loginInfo.m_userID); bw.WriteString(loginInfo.m_userName); bw.WriteString(loginInfo.m_passWord); bw.WriteString(loginInfo.m_nickName); bw.WriteInt(loginInfo.m_type); bw.WriteInt(loginInfo.m_state); bw.WriteInt(loginInfo.m_sessionID); } byte[] bytes = bw.GetBytes(); int ret = Send(new CMessage(GroupID, ServiceID, functionID, SessionID, requestID, m_socketID, 0, CompressType, bytes.Length, bytes)); bw.Close(); return(ret); }