ClientFixSession

StockSharp.Server.Fix

代表连接到 FIX 客户端会话, 并带有自己的写手、 方言和正在发送的消息队列 。

继承自: FixSession

实现: IMessageListenerSession, ILogReceiver, ILogSource, IDisposable

构造函数

ClientFixSession
public ClientFixSession(IFixDialect fixDialect, string version, string language, Stream clientStream, TcpClient client, TimeSpan quotesInterval, FixSession serverSession, string authorizationToken, ISessionTransactionIdStorage transactionIdStorage, bool checkSumDisabled, bool isDemo, int maxPendingMessages)
clientFixSession = ClientFixSession(fixDialect, version, language, clientStream, client, quotesInterval, serverSession, authorizationToken, transactionIdStorage, checkSumDisabled, isDemo, maxPendingMessages)

初始化了 & ##ClientFixSession+#的新实例.

fixDialect
FIX 用于信件解析和写作的方言.
version
FIX协议版本字符串.
language
客户语言偏好.
clientStream
网络流来通.
client
TCP客户端连接.
quotesInterval
引用更新的集合间隔 。
serverSession
父服务器侧会话配置 。
authorizationToken
成功登录后返回授权令牌 。
transactionIdStorage
用于映射FIX的存储请求将ID请求到内部交易ID.
checkSumDisabled
FIX 校验和验证是否被禁用 。
isDemo
是否是演示会话 。
maxPendingMessages
最大排队数在后压强制断开前已退出的工作项目。 0 表示未绑定 。

属性

AuthorizationToken
public string AuthorizationToken { get; }
value = clientFixSession.AuthorizationToken

成功登录后, 授权符指定给此会话 。

BytesReceived
public long BytesReceived { get; set; }
value = clientFixSession.BytesReceived
clientFixSession.BytesReceived = value

收到的字节数 。

BytesSent
public long BytesSent { get; set; }
value = clientFixSession.BytesSent
clientFixSession.BytesSent = value

发送字节数 。

ErrorCount
public int ErrorCount { get; set; }
value = clientFixSession.ErrorCount
clientFixSession.ErrorCount = value

出错数.

FixDialect
public IFixDialect FixDialect { get; }
value = clientFixSession.FixDialect

FIX 方言,本会话用于消息序列化.

IsConnected
public override bool IsConnected { get; }
value = clientFixSession.IsConnected

获取连接状态 。

IsDemo
public bool IsDemo { get; }
value = clientFixSession.IsDemo

此会话是否以演示模式运行 。

Language
public string Language { get; }
value = clientFixSession.Language

客户语言偏好(e.g. "en","ru").

OutgoingQueueCount
public int OutgoingQueueCount { get; }
value = clientFixSession.OutgoingQueueCount

当前发送信件队列的大小( 如果频道不显示一个计数) 。

QuotesInterval
public TimeSpan QuotesInterval { get; }
value = clientFixSession.QuotesInterval

发送前汇总递增的引号更新的间隔 。

RemoteEndPoint
public EndPoint RemoteEndPoint { get; }
value = clientFixSession.RemoteEndPoint

连接客户端的远程端点地址 。

Serializer
public IFixServerSerializer Serializer { get; private set; }
value = clientFixSession.Serializer
clientFixSession.Serializer = value

本次会话的FIX序列器.

ServerSession
public FixSession ServerSession { get; }
value = clientFixSession.ServerSession

父服务器侧会话配置 。

TotalErrorCount
public int TotalErrorCount { get; set; }
value = clientFixSession.TotalErrorCount
clientFixSession.TotalErrorCount = value

全部错误计数 。

TransactionIdStorage
public ISessionTransactionIdStorage TransactionIdStorage { get; }
value = clientFixSession.TransactionIdStorage
UpdatedTime
public DateTime UpdatedTime { get; }
value = clientFixSession.UpdatedTime

UTC最后一次收到消息的时间戳(心跳或数据).

Version
public string Version { get; }
value = clientFixSession.Version

FIX协议版本在登录期间由客户端报告.

Writer
public IFixWriter Writer { get; }
value = clientFixSession.Writer

FIX 用于序列化发送信件的编译器 。

方法

DisposeManaged
protected override void DisposeManaged()
clientFixSession.DisposeManaged()

释放资源。

EnqueueWork
public bool EnqueueWork(ServerSubscription subscription, string requestId, Func<ClientFixSession, string, CancellationToken, ValueTask<bool>> handler)
result = clientFixSession.EnqueueWork(subscription, requestId, handler)

排列一个序列化工作项目进行处理。 如果队列满了或完成( 客户后压) , 返回, 以便呼叫者强制断开 。

IncreaseBytesSent
public override void IncreaseBytesSent(int count)
clientFixSession.IncreaseBytesSent(count)

Increase BytesSent.

count
价值.
IncreaseErrorCount
public override void IncreaseErrorCount()
clientFixSession.IncreaseErrorCount()

Increase ErrorCount.

Init
public Task Init(FixServerSettings serverSettings, Action<ClientFixSession> logout, CancellationToken cancellationToken)
result = clientFixSession.Init(serverSettings, logout, cancellationToken)

启动此会话的发出信件处理循环 。

serverSettings
服务器设置( 用于最大出错阈值) 。
logout
必须在会议断开时召回引用。
cancellationToken
取消的代币。

返回值: 任务持续到会话的结束。

InitSerializer
public void InitSerializer(IFixReader reader)
clientFixSession.InitSerializer(reader)

初始化序列器与给定的阅读器 。

reader
接收信件的 FIX 读取器 。
Ping
public void Ping()
clientFixSession.Ping()

将最后一个活动时间戳更新到当前协调世界时时间.

ResetErrorCount
public override void ResetErrorCount()
clientFixSession.ResetErrorCount()

Reset ErrorCount.