12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using GameFramework;
- using GameFramework.Network;
- using UnityEngine;
- namespace UnityGameFramework.Runtime
- {
- public sealed partial class DebuggerComponent : GameFrameworkComponent
- {
- private sealed class NetworkInformationWindow : ScrollableDebuggerWindowBase
- {
- private NetworkComponent m_NetworkComponent = null;
- public override void Initialize(params object[] args)
- {
- m_NetworkComponent = GameEntry.GetComponent<NetworkComponent>();
- if (m_NetworkComponent == null)
- {
- Log.Fatal("Network component is invalid.");
- return;
- }
- }
- protected override void OnDrawScrollableWindow()
- {
- GUILayout.Label("<b>Network Information</b>");
- GUILayout.BeginVertical("box");
- {
- DrawItem("Network Channel Count", m_NetworkComponent.NetworkChannelCount.ToString());
- }
- GUILayout.EndVertical();
- INetworkChannel[] networkChannels = m_NetworkComponent.GetAllNetworkChannels();
- for (int i = 0; i < networkChannels.Length; i++)
- {
- DrawNetworkChannel(networkChannels[i]);
- }
- }
- private void DrawNetworkChannel(INetworkChannel networkChannel)
- {
- GUILayout.Label(Utility.Text.Format("<b>Network Channel: {0} ({1})</b>", networkChannel.Name, networkChannel.Connected ? "Connected" : "Disconnected"));
- GUILayout.BeginVertical("box");
- {
- DrawItem("Service Type", networkChannel.ServiceType.ToString());
- DrawItem("Address Family", networkChannel.AddressFamily.ToString());
- DrawItem("Local Address", networkChannel.Connected ? networkChannel.Socket.LocalEndPoint.ToString() : "Unavailable");
- DrawItem("Remote Address", networkChannel.Connected ? networkChannel.Socket.RemoteEndPoint.ToString() : "Unavailable");
- DrawItem("Send Packet", Utility.Text.Format("{0} / {1}", networkChannel.SendPacketCount.ToString(), networkChannel.SentPacketCount.ToString()));
- DrawItem("Receive Packet", Utility.Text.Format("{0} / {1}", networkChannel.ReceivePacketCount.ToString(), networkChannel.ReceivedPacketCount.ToString()));
- DrawItem("Miss Heart Beat Count", networkChannel.MissHeartBeatCount.ToString());
- DrawItem("Heart Beat", Utility.Text.Format("{0} / {1}", networkChannel.HeartBeatElapseSeconds.ToString("F2"), networkChannel.HeartBeatInterval.ToString("F2")));
- if (networkChannel.Connected)
- {
- if (GUILayout.Button("Disconnect", GUILayout.Height(30f)))
- {
- networkChannel.Close();
- }
- }
- }
- GUILayout.EndVertical();
- }
- }
- }
- }
|