Esempio n. 1
0
 public void onUserLeftRoom(UserLeftRoom userLeftRoom)
 {
 }
 public void AddCallBacks(UserLeftRoom uCallback,UserPaused RPaused,UserResumed RResumed)
 {
     OpponentLeftRoom = uCallback;
     RemoteUserPaused = RPaused;
     RemoteUserResumed = RResumed;
 }
 public void RemoveCallBacks()
 {
     OpponentLeftRoom = null;
     RemoteUserPaused = null;
     RemoteUserResumed = null;
 }
 public void RemoveCallBacks()
 {
     OpponentLeftRoom  = null;
     RemoteUserPaused  = null;
     RemoteUserResumed = null;
 }
 public void AddCallBacks(UserLeftRoom uCallback, UserPaused RPaused, UserResumed RResumed)
 {
     OpponentLeftRoom  = uCallback;
     RemoteUserPaused  = RPaused;
     RemoteUserResumed = RResumed;
 }
Esempio n. 6
0
        /// <summary>
        /// Data retrieved from server
        /// </summary>
        /// <param name="serverConnection">TCP connection with server</param>
        private static void ListenServer(TcpClient serverConnection)
        {
            serverConnection.ReceiveBufferSize = BUFFER_SIZE;
            serverConnection.SendBufferSize    = BUFFER_SIZE;

            NetworkStream networkStream = serverConnection.GetStream();

            while (serverConnection.Connected)
            {
                ServerObject data;
                try
                {
                    data = (ServerObject)formatter.Deserialize(networkStream);
                }
                #region POSSIBLE EXCEPTIONS
                catch (IOException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (SerializationException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (DecoderFallbackException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (OverflowException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (OutOfMemoryException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (NullReferenceException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (IndexOutOfRangeException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (FormatException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (InvalidCastException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (ArgumentOutOfRangeException)
                {
                    ExceptionHandler(networkStream);
                    continue;
                }
                catch (Exception e)
                {
                    ExceptionHandler(networkStream);
                    MessageBox.Show(e.Message, e.GetType().Name, MessageBoxButton.OK, MessageBoxImage.Error);
                    continue;
                }
                #endregion POSSIBLE EXCEPTIONS

                switch (data.ServerFlag)
                {
                case ServerFlag.ConnectionState:
                    Task.Run(() => SetConnectionState((KeyValuePair <ConnectionState, int>)data.Data));
                    break;

                case ServerFlag.Call:
                    IncomingCall?.Invoke((int)data.Data);
                    break;

                case ServerFlag.SendMessage:
                    Task.Run(() => SendMessage((SenderObjectRelation)data.Data));
                    break;

                case ServerFlag.SendingData:
                    Task.Run(() => SendingData((SenderObject)data.Data));
                    break;

                case ServerFlag.NewUserInCall:
                    NewUserCall?.Invoke((int)data.Data);
                    break;

                case ServerFlag.CallingToGroup:
                    CallingToGroup?.Invoke((int)data.Data);
                    break;

                case ServerFlag.DeclineCall:
                    CallDeclined?.Invoke((int)data.Data);
                    break;

                case ServerFlag.UserLeftRoom:
                    UserLeftRoom?.Invoke((int)data.Data);
                    break;

                case ServerFlag.RoomClosed:
                case ServerFlag.EndCall:
                    EndCall?.Invoke();
                    break;

                case ServerFlag.ConnectionChecking:
                    Task.Run(() => SendToServer(new ServerObject(ServerFlag.ConnectionChecking, Id)));
                    break;

                case ServerFlag.ApiConnection:
                    Task.Run(() => CheckApiConnectionFlag((ApiObject)data.Data));
                    break;

                default:
                    break;
                }
            }
            MessageBox.Show("Disconnected from server");
        }