private void UpdateReceiver() { //STEP3: Updating the receiver. Will be called ever frame //IMediaNetwork uses polling instead of events receiver.Update(); //check if the configuration state changed if (receiver.GetConfigurationState() == MediaConfigurationState.Failed) { //did configuration fail? error Debug.Log("receiver configuration failed " + receiver.GetConfigurationError()); receiver.ResetConfiguration(); } else if (receiver.GetConfigurationState() == MediaConfigurationState.Successful && mReceiverConfigured == false) { //configuration successful. mReceiverConfigured = true; //StartServer corresponds to ICall.Listen receiver.StartServer(address); } //Dequeue network events NetworkEvent evt; while (receiver.Dequeue(out evt)) { if (evt.Type == NetEventType.ServerInitialized) { //triggered if StartServer completed Debug.Log("receiver: server initialized."); //receiver is ready -> create sender SenderSetup(); } else if (evt.Type == NetEventType.ServerInitFailed) { //either network problem or address in use Debug.LogError("receiver: server init failed"); } else if (evt.Type == NetEventType.NewConnection) { //triggered if a new connection is established Debug.Log("receiver: New connection with id " + evt.ConnectionId); } } receiver.Flush(); }
private void UpdateSender() { //STEP5: Sender update loop. Same as receiver but is calling Connect //once configure completed. sender.Update(); NetworkEvent evt; if (sender.GetConfigurationState() == MediaConfigurationState.Failed) { //did configuration fail? error Debug.Log("sender configuration failed " + sender.GetConfigurationError()); sender.ResetConfiguration(); } else if (sender.GetConfigurationState() == MediaConfigurationState.Successful && mSenderConfigured == false) { mSenderConfigured = true; //connecting to to the receiver sender.Connect(address); } while (sender.Dequeue(out evt)) { if (evt.Type == NetEventType.NewConnection) { Debug.Log("sender: New connection with id " + evt.ConnectionId); } else if (evt.Type == NetEventType.ConnectionFailed) { Debug.LogError("sender: connection failed"); } } sender.Flush(); }