pangdan118 2016-11-15 05:27 采纳率: 0%
浏览 1207
已结题

c# tcp高频率向客户端广播数据延迟,1000元报酬

能解决的加我qq2220099315 ,给1000元报酬
源码链接
http://pan.baidu.com/s/1czfL7o
private void Send(byte[] datas,int cmd) {

            try
            {
                    byte[] bt = Funcoins.DatagramResolver(datas, cmd);

                    TcpClient.BeginSend(bt, 0, bt.Length, SocketFlags.None,
                     new AsyncCallback(SendEnd), TcpClient);


            }
            catch
            {

            }





    }

通过tcp异步发送数据,大概每50ms向所有链接广播一共1049byte的数据,大约在有20个左右链接的时候回出现卡死或者数据延迟,
数据结构体如下:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
[Serializable]
public struct TapAPIQuoteWhole
{
///
/// 合约
///
public TapAPIContract Contract;
///
/// 币种编号
///
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)]
public string CurrencyNo;
///
/// 交易状态。1,集合竞价;2,集合竞价撮合;3,连续交易;4,交易暂停;5,闭市
///

    public char TradingState;
    /// <summary>
    /// 时间戳
    /// </summary>
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)]
    public string DateTimeStamp;
    /// <summary>
    /// 昨收盘价
    /// </summary>
    public double QPreClosingPrice;
    /// <summary>
    /// 昨结算价
    /// </summary>

    public double QPreSettlePrice;
    /// <summary>
    ///  昨持仓量
    /// </summary>
    public UInt64 QPrePositionQty;
    /// <summary>
    /// 开盘价
    /// </summary>
    public double QOpeningPrice;
    /// <summary>
    /// 最新价
    /// </summary>
    public double QLastPrice;
    /// <summary>
    /// 最高价
    /// </summary>
    public double QHighPrice;
    /// <summary>
    /// 最低价
    /// </summary>
    public double QLowPrice;
    /// <summary>
    /// 历史最高价
    /// </summary>
    public double QHisHighPrice;
    /// <summary>
    /// 历史最低价
    /// </summary>
    public double QHisLowPrice;
    /// <summary>
    /// 涨停价
    /// </summary>
    public double QLimitUpPrice;
    /// <summary>
    ///  跌停价
    /// </summary>
    public double QLimitDownPrice;
    /// <summary>
    /// 当日总成交量
    /// </summary>
    public UInt64 QTotalQty;
    /// <summary>
    /// 当日成交金额
    /// </summary>
    public double QTotalTurnover;
    /// <summary>
    ///  持仓量
    /// </summary>
    public UInt64 QPositionQty;
    /// <summary>
    /// 均价
    /// </summary>
    public double QAveragePrice;
    /// <summary>
    /// 收盘价
    /// </summary>
    public double QClosingPrice;
    /// <summary>
    ///  结算价
    /// </summary>
    public double QSettlePrice;
    /// <summary>
    /// 最新成交量
    /// </summary>
    public UInt64 QLastQty;
    /// <summary>
    /// 买价1-21档
    /// </summary>
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
    public double[] QBidPrice;
    /// <summary>
    /// 买量1-21档
    /// </summary>
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
    public UInt64[] QBidQty;
    /// <summary>
    /// 卖价1-21档
    /// </summary>
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
    public double[] QAskPrice;
    /// <summary>
    /// 卖量1-21档
    /// </summary>

    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
    public UInt64[] QAskQty;
    /// <summary>
    ///  隐含买价
    /// </summary>

    public double QImpliedBidPrice;
    /// <summary>
    ///  隐含买量
    /// </summary>
    public UInt64 QImpliedBidQty;
    /// <summary>
    /// 隐含卖价
    /// </summary>
    public double QImpliedAskPrice;
    /// <summary>
    ///  隐含卖量
    /// </summary>
    public UInt64 QImpliedAskQty;
    /// <summary>
    /// 昨虚实度
    /// </summary>
    public double QPreDelta;
    /// <summary>
    ///  今虚实度
    /// </summary>
    public double QCurrDelta;
    /// <summary>
    /// 内盘量
    /// </summary>
    public UInt64 QInsideQty;
    /// <summary>
    /// 外盘量
    /// </summary>
    public UInt64 QOutsideQty;
    /// <summary>
    ///  换手率
    /// </summary>
    public double QTurnoverRate;
    /// <summary>
    /// 五日均量
    /// </summary>

    public UInt64 Q5DAvgQty;
    /// <summary>
    /// 市盈率
    /// </summary>
    public double QPERatio;
    /// <summary>
    /// 总市值
    /// </summary>
    public double QTotalValue;
    /// <summary>
    /// 流通市值
    /// </summary>
    public double QNegotiableValue;
    /// <summary>
    /// 持仓走势
    /// </summary>
    public UInt64 QPositionTrend;
    /// <summary>
    ///  涨速
    /// </summary>
    public double QChangeSpeed;
    /// <summary>
    /// 涨幅
    /// </summary>
    public double QChangeRate;
    /// <summary>
    /// 涨跌值
    /// </summary>
    public double QChangeValue;
    /// <summary>
    ///  振幅
    /// </summary>
    public double QSwing;
    /// <summary>
    /// 委买总量
    /// </summary>
    public UInt64 QTotalBidQty;
    /// <summary>
    ///  委卖总量
    /// </summary>
    public UInt64 QTotalAskQty;
};

  • 写回答

2条回答 默认 最新

  • dabocaiqq 2016-11-15 05:33
    关注

    把你全部的源代码上传到百度网盘,然后才好帮你调试啊

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序