private void SendPingMessage(FunapiTransport transport)
{
long timestamp = DateTime.Now.Ticks;
// Send response
if (transport.Encoding == FunEncoding.kJson)
{
object msg = transport.JsonHelper.Deserialize("{}");
transport.JsonHelper.SetStringField(msg, kMsgTypeBodyField, kClientPingMessageType);
transport.JsonHelper.SetStringField(msg, kSessionIdBodyField, session_id_);
transport.JsonHelper.SetIntegerField(msg, kPingTimestampField, timestamp);
transport.SendMessage(new FunapiMessage(transport.Protocol, kClientPingMessageType, msg));
}
else if (transport.Encoding == FunEncoding.kProtobuf)
{
FunPingMessage ping = new FunPingMessage();
ping.timestamp = timestamp;
FunMessage msg = CreateFunMessage(ping, MessageType.cs_ping);
msg.msgtype = kClientPingMessageType;
msg.sid = session_id_;
transport.SendMessage(new FunapiMessage(transport.Protocol, kClientPingMessageType, msg));
}
transport.PingWaitTime += transport.PingIntervalSeconds;
DebugUtils.DebugLog("Send {0} ping - timestamp: {1}", transport.str_protocol, timestamp);
}