private void Listen() { while (true) { try { if (!client.Connected) { break; } byte[] data = new byte[1000]; stream.Read(data, 0, data.Length); Message message = new Message(data); if (message.Version == 0) { break; } InterpreteData?.Invoke(message); } catch (Exception e) { Debug.LogError(e.ToString()); //break; } } active = false; }
private void ReceiveCallback(IAsyncResult ar) { byte[] data = state.Client.EndReceive(ar, ref state.EndPoint); Debug.Log($"Received broadcast from {state.EndPoint}"); try { InterpreteData.Invoke(new Message(data)); } catch (Exception e) { Debug.Log(e.Message); } if (active) { ReceiveMessages(); } }