Example #1
0
 public void HandleDeliverySuccess(DeliveryNotificationManager inDeliveryNotificationManager)
 {
     foreach (var pair in mTransmissionDataMap)
     {
         pair.Value.HandleDeliverySuccess(inDeliveryNotificationManager);
     }
 }
    NetworkManagerClient()
    {
        mState = NetworkClientState.Uninitialized;
        mDeliveryNotificationManager = new core.DeliveryNotificationManager(true, false);
        mLastRoundTripTime           = 0.0f;

        core.NetGameObject.CreateRpcPacketClient = NetworkManagerClient.CreateRpcPacket;
        core.NetGameObject.SendClient            = NetworkManagerClient.Send;
    }
    public void Init(System.Net.IPEndPoint inServerAddress, string inName, byte inWorldId)
    {
        base.Init(core.World.DefaultWorldCount);

        // client
        NetPeerConfiguration config = new NetPeerConfiguration("game", inServerAddress.AddressFamily);

#if DEBUG
        // 디버깅 환경에서 타임 아웃 처리 조정
        config.ConnectionTimeout = 300f;

        //if (Configuration.Instance.EnableLatencySimulation)
        //{
        //    config.SimulatedLoss = Configuration.Instance.SimulatedLoss;
        //    config.SimulatedRandomLatency = Configuration.Instance.SimulatedRandomLatency;
        //    config.SimulatedMinimumLatency = Configuration.Instance.SimulatedMinimumLatency;
        //    config.SimulatedDuplicatesChance = Configuration.Instance.SimulatedDuplicatesChance;
        //}
#endif

        //config.AutoFlushSendQueue = false;
        mNetPeer = new NetClient(config);
        mNetPeer.Start();
        mDeliveryNotificationManager = new core.DeliveryNotificationManager(true, false);
        mReplicationManagerClient    = new ReplicationManagerClient();

        algo = new NetXorEncryption(GetClient(), "AceTopSecret");

        mLastRoundTripTime     = 0.0f;
        mTimeOfLastInputPacket = 0f;


        mServerAddress       = inServerAddress;
        mState               = NetworkClientState.SayingHello;
        mTimeOfLastHello     = 0.0f;
        mTimeOfLastStartPlay = 0.0f;
        mName           = inName;
        mWorldId        = inWorldId;
        tryConnectCount = 0;

        mAvgRoundTripTime = new core.WeightedTimedMovingAverage(1.0f);

        NetOutgoingMessage hail = GetClient().CreateMessage("hail");
        GetClient().Connect(mServerAddress, hail);
        IsTcp     = false;
        IsUdpOk   = false;
        IsTrySend = true;

        respawn = false;

        // tcp
        SetConnector(inServerAddress);

        LinkedObject.Clear();
    }
Example #4
0
 NetworkManagerClient()
 {
     mState = NetworkClientState.NCS_Uninitialized;
     mDeliveryNotificationManager = new core.DeliveryNotificationManager(true, false);
     mLastRoundTripTime           = 0.0f;
 }
 public abstract void HandleDeliverySuccess(DeliveryNotificationManager inDeliveryNotificationManager);
 public abstract void HandleDeliveryFailure(DeliveryNotificationManager inDeliveryNotificationManager);