public void Init(ReceiveInvokeElement receiveInvokeElement, TcpSendMsg heartbeatMsg, int heartbeatInterval) { this.receiveIvokeElement = receiveInvokeElement; tcpClient.ReceiveInvokeElement = receiveInvokeElement; if (heartbeatMsg != null) { heartbeatMsg.Encode(); this.heartbeatMsg = heartbeatMsg; } this.heartbeatInterval = heartbeatInterval; this.maxReceiveInterval = heartbeatInterval * 2; }
public void SendMessage(TcpSendMsg msg, bool immediate) { msg.Encode(); msg.SendImmediate = immediate; if (Interlocked.Read(ref tcpSocketState) == 1) { if (immediate) { tcpClient.BeginSend(msg.Packet, msg); } else { EnqueueSendMsgPool(msg); SendMsgPacket(); } } }