internal void Heartbeat()
{
NetIncomingMessage inc;
while ((inc = Net.ReadMessage()) != null)
{
switch (inc.MessageType)
{
case NetIncomingMessageType.StatusChanged:
NetConnectionStatus status = (NetConnectionStatus)inc.ReadByte();
this.Text = status.ToString();
break;
case NetIncomingMessageType.ErrorMessage:
this.Text = inc.ReadString();
break;
}
}
// send message?
if (NetTime.Now > m_lastSent + c_sendFrequency)
{
var om = Net.CreateMessage();
om.Write("Hi!");
Net.SendMessage(om, NetDeliveryMethod.ReliableOrdered);
m_lastSent = NetTime.Now;
// also update title
#if DEBUG
this.Text = Net.Statistics.SentBytes + " bytes sent; " + Net.Statistics.ReceivedBytes + " bytes received";
#else
string str = Net.ServerConnection == null ? "No connection" : Net.ServerConnection.Status.ToString();
if (this.Text != str)
this.Text = str;
#endif
}
}