protected void Init() { if (_baseclient == null) { _baseclient = target as BaseNetworkClient; } }
static void Main(string[] args) { var kernel = new Kernel(new KernelConfig()); _networkClient = kernel.Get <BaseNetworkClient>(); _networkClient.Init(); _networkClient.Open(new NetworkClientConfig { LocalEndPoint = new IPEndPoint(IPAddress.Any, 0), }); _masterServerBrowser = new MasterServerBrowser(_networkClient, new[] { new IPEndPoint(GetIP("master1.teeworlds.com"), 8300), new IPEndPoint(GetIP("master2.teeworlds.com"), 8300), new IPEndPoint(GetIP("master3.teeworlds.com"), 8300), new IPEndPoint(GetIP("master4.teeworlds.com"), 8300), }); _masterServerBrowser.RequestServers(); while (true) { while (_networkClient.Receive(out var packet)) { if (packet.ClientId == -1) { _masterServerBrowser.OnPacket(packet); } } _masterServerBrowser.Tick(); Thread.Sleep(5); } }
static void Main(string[] args) { var kernel = new Kernel(new KernelConfig()); _isRunning = true; _consoleReader = new Thread(ConsoleRead); _consoleReader.Start(); _networkClient = kernel.Get <BaseNetworkClient>(); _networkClient.Init(); _networkClient.Open(new NetworkClientConfig { LocalEndPoint = new IPEndPoint(IPAddress.Any, 0), }); SendGetInfo(); Chunk packet = null; uint token = 0; while (_isRunning) { while (_networkClient.Receive(ref packet, ref token)) { { } } Thread.Sleep(5); } //_masterServerBrowser = new MasterServerBrowser(_networkClient, new[] //{ // new IPEndPoint(GetIP("master1.teeworlds.com"), 8300), // new IPEndPoint(GetIP("master2.teeworlds.com"), 8300), // new IPEndPoint(GetIP("master3.teeworlds.com"), 8300), // new IPEndPoint(GetIP("master4.teeworlds.com"), 8300), //}); //_masterServerBrowser.RequestServers(); //Chunk packet = null; //uint token = 0; //while (true) //{ // while (_networkClient.Receive(ref packet, ref token)) // { // if (packet.ClientId == -1) // _masterServerBrowser.OnPacket(packet); // } // _masterServerBrowser.Tick(); // Thread.Sleep(5); //} }
private void ClientReadCallback(BaseNetworkClient networkClient, Byte[] buffer, UInt32 size) { m_ReadResult = false; if (m_ClientTestData.Length == size) { for (UInt32 index = 0; index < size; ++index) { if (buffer[index] != m_ClientTestData[index]) { return; } } m_ReadResult = true; } }
public MasterServerBrowser(BaseNetworkClient netClient, IPEndPoint[] masterServers) { ServersSnapshot = new ServersSnapshot(); _masterServers = masterServers; _networkClient = netClient; }
/// <summary> /// Unity's start method. /// </summary> private void Start() { client = ClientAPI.masterServerClient; StartCoroutine(Ping()); OpenChatDialog(); }
void OnGUI() { if (EditorApplication.isPlaying) { if (Selection.activeGameObject && Selection.activeGameObject.TryGetComponent(out BaseNetworkClient t)) { _baseclient = t; } if (_baseclient) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical("box"); GUILayout.Label("Client information", EditorStyles.boldLabel); GUILayout.Label("Address " + _baseclient.Address, EditorStyles.boldLabel); GUILayout.Label("Port " + _baseclient.Port, EditorStyles.boldLabel); GUILayout.Space(15); GUILayout.Label("Ping (last) " + _baseclient.GetPingLast(), EditorStyles.boldLabel); GUILayout.Label("Ping (average) " + _baseclient.GetPingAverage(), EditorStyles.boldLabel); GUILayout.Label("Ping (lowest) " + _baseclient.GetPingLowest(), EditorStyles.boldLabel); GUILayout.Label("\nMinimal network stats"); float b_sent = _baseclient.GetNetStat(RNSPerSecondMetrics.ACTUAL_BYTES_SENT); float b_rcv = _baseclient.GetNetStat(RNSPerSecondMetrics.ACTUAL_BYTES_RECEIVED); if (b_sent < 1024) { GUILayout.Label("Sended " + b_sent.ToString("f0") + " bytes", EditorStyles.boldLabel); } if (b_sent > 1024 && b_sent < 1048576) { GUILayout.Label("Sended " + (b_sent / 1024).ToString("f1") + " kb", EditorStyles.boldLabel); } else if (b_sent >= 1048576) { GUILayout.Label("Sended " + ((b_sent / 1024) / 1024).ToString("f2") + " mb", EditorStyles.boldLabel); } if (b_rcv < 1024) { GUILayout.Label("Received " + b_rcv.ToString("f0") + " bytes", EditorStyles.boldLabel); } if (b_rcv > 1024 && b_rcv < 1048576) { GUILayout.Label("Received " + (b_rcv / 1024).ToString("f1") + " kb", EditorStyles.boldLabel); } else if (b_rcv >= 1048576) { GUILayout.Label("Received " + ((b_rcv / 1024) / 1024).ToString("f2") + " mb", EditorStyles.boldLabel); } GUILayout.Label("Loss: " + _baseclient.GetLoss() + "%", EditorStyles.boldLabel); GUILayout.EndVertical(); GUILayout.BeginVertical("box"); GUILayout.Label("Full Network Stats\n" + _baseclient.GetNetworkStats()); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else { EditorGUILayout.HelpBox("Pick NetworkClient component for get debug information...", MessageType.Error); } } else { EditorGUILayout.HelpBox("To get client debug information, you must run the game", MessageType.Error); } }