void PlayArtNet() { if (progres <= length) { dmxcontroller.RecivefromLocalRecorder(playback.m_data[progres]); progres += 1; Debug.Log("data send: " + progres); } else if (progres > length) { Debug.Log("panik now pls"); CancelInvoke("PlayArtNet"); } }
/// <summary> /// Runs in background clientReceiveThread; Listens for incomming data. /// </summary> private void ListenForData() { try { socketConnection = new TcpClient(serverIP, 8886); Byte[] bytes = new Byte[2100]; while (true) { // Get a stream object for reading using (NetworkStream stream = socketConnection.GetStream()) { int length; // Read incomming stream into byte arrary. while ((length = stream.Read(bytes, 0, bytes.Length)) != 0) { var incommingData = new byte[length]; Array.Copy(bytes, 0, incommingData, 0, length); // Convert byte array to string message. string serverMessage = Encoding.ASCII.GetString(incommingData); //Debug.Log(serverMessage); //Debug.Log(serverMessage[serverMessage.Length - 1] + " " + serverMessage[0]); //Debug.Log(serverMessage[serverMessage.Length - 1].ToString().Equals("}") + " " + serverMessage[0].ToString().Equals("{")); if (serverMessage[serverMessage.Length - 1].ToString().Equals("}") && serverMessage[0].ToString().Equals("{")) { dart = JsonUtility.FromJson <ArtNetDmxPacket>(serverMessage); dmxcontroller.RecivefromLocalRecorder(dart); Debug.Log(length); } else { Debug.Log("broken Message"); } //change message to ArtNetOPacket and send it to DMX Controller } } } } catch (SocketException socketException) { Debug.Log("Socket exception: " + socketException); } }