Search Unity

Unity.Networking.Transport Client Bad initialization

Discussion in 'Multiplayer' started by Opeth001, Sep 19, 2019.

  1. Opeth001

    Opeth001

    Joined:
    Jan 28, 2017
    Posts:
    1,117
    Hello Everyone,

    im getting a weird Error when trying to connect the Client to Server.

    Code (CSharp):
    1. DivideByZeroException: Attempted to divide by zero.
    2. Unity.Networking.Transport.Utilities.ReliableUtility.Release (Unity.Collections.NativeSlice`1[T] self, System.Int32 start_sequence, System.Int32 count) (at Packages/com.unity.transport/Runtime/Pipelines/ReliableUtility.cs:319)
    3. Unity.Networking.Transport.Utilities.ReliableUtility.InitializeProcessContext (Unity.Collections.NativeSlice`1[T] self, Unity.Networking.Transport.Utilities.ReliableUtility+Parameters param) (at Packages/com.unity.transport/Runtime/Pipelines/ReliableUtility.cs:203)
    4. Unity.Networking.Transport.Utilities.ReliableUtility.InitializeContext (Unity.Collections.NativeSlice`1[T] sharedBuffer, Unity.Collections.NativeSlice`1[T] sendBuffer, Unity.Collections.NativeSlice`1[T] recvBuffer, Unity.Networking.Transport.Utilities.ReliableUtility+Parameters param) (at Packages/com.unity.transport/Runtime/Pipelines/ReliableUtility.cs:167)
    5. Unity.Networking.Transport.ReliableSequencedPipelineStage.InitializeConnection (Unity.Collections.NativeSlice`1[T] sendProcessBuffer, Unity.Collections.NativeSlice`1[T] recvProcessBuffer, Unity.Collections.NativeSlice`1[T] sharedProcessBuffer) (at Packages/com.unity.transport/Runtime/Pipelines/ReliableSequencedPipelineStage.cs:131)
    6. Unity.Networking.Transport.DefaultPipelineStageCollection.InvokeInitialize (System.Int32 pipelineStageId, Unity.Collections.NativeSlice`1[T] sendProcessBuffer, Unity.Collections.NativeSlice`1[T] recvProcessBuffer, Unity.Collections.NativeSlice`1[T] sharedStateBuffer) (at Packages/com.unity.transport/Runtime/Pipelines/DefaultPipelineStageCollection.cs:105)
    7. Unity.Networking.Transport.NetworkPipelineProcessor`1[TNetworkPipelineStageCollection].InitializeStages (System.Int32 networkId) (at Packages/com.unity.transport/Runtime/NetworkPipeline.cs:426)
    8. Unity.Networking.Transport.NetworkPipelineProcessor`1[TNetworkPipelineStageCollection].initializeConnection (Unity.Networking.Transport.NetworkConnection con) (at Packages/com.unity.transport/Runtime/NetworkPipeline.cs:400)
    9. Unity.Networking.Transport.GenericNetworkDriver`2[T,TNetworkPipelineStageCollection].Connect (Unity.Networking.Transport.NetworkEndPoint endpoint) (at Packages/com.unity.transport/Runtime/NetworkDriver.cs:646)
    10. Unity.Networking.Transport.UdpNetworkDriver.Connect (Unity.Networking.Transport.NetworkEndPoint endpoint) (at Packages/com.unity.transport/Runtime/NetworkDriver.cs:1238)
    11. ClientManagerSystem+<OnCreate>d__9.MoveNext () (at Assets/Scripts/ClientManagerSystem.cs:125)
    12. --- End of stack trace from previous location where exception was thrown ---
    13. System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <599589bf4ce248909b8a14cbe4a2034e>:0)
    14. System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) (at <599589bf4ce248909b8a14cbe4a2034e>:0)
    15. UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at C:/buildslave/unity/build/Runtime/Export/Scripting/UnitySynchronizationContext.cs:114)
    16. UnityEngine.UnitySynchronizationContext:ExecuteTasks()
    17.  
    My Code:
    Code (CSharp):
    1.  
    2. public class ClientManagerSystem : JobComponentSystem
    3. {
    4.     public UdpNetworkDriver m_Driver;
    5.     public NativeArray<NetworkConnection> m_Connection;
    6.     public NativeArray<byte> disconectionRequested;
    7.  
    8.     // this Key should be Passed from Nakama
    9.     public uint secretKey;
    10.  
    11.     private NetworkPipeline unreliablePipeline;
    12.     private NetworkPipeline reliablePipeline;
    13.  
    14.     string IP = "127.0.0.1";
    15.     ushort Port = 9000;
    16.  
    17.     private bool serverInit = false;
    18.  
    19.     protected override async void OnCreate()
    20.     {
    21.         await Task.Delay(10000);
    22.         Debug.Log("===========  Client Started!  ==============");
    23.  
    24.         m_Driver = new UdpNetworkDriver(new INetworkParameter[0]);
    25.         m_Connection = new NativeArray<NetworkConnection>(1, Allocator.Persistent);
    26.  
    27.         disconectionRequested = new NativeArray<byte>(1, Allocator.Persistent);
    28.         disconectionRequested[0] = 0;
    29.        
    30.         //unreliablePipeline = m_Driver.CreatePipeline(typeof(UnreliableSequencedPipelineStage), typeof(SimulatorPipelineStage));
    31.         unreliablePipeline = m_Driver.CreatePipeline(typeof(UnreliableSequencedPipelineStage));
    32.  
    33.         //reliablePipeline = m_Driver.CreatePipeline(typeof(ReliableSequencedPipelineStage), typeof(SimulatorPipelineStage));
    34.         reliablePipeline = m_Driver.CreatePipeline(typeof(ReliableSequencedPipelineStage));
    35.        
    36.         m_Connection[0] = m_Driver.Connect(NetworkEndPoint.Parse(IP, Port)); // Error is occuring here
    37.  
    38.         // Test
    39.         secretKey = 10101;
    40.     }
    41.  
    42.     protected override void OnDestroy()
    43.     {
    44.         m_Driver.Dispose();
    45.         m_Connection.Dispose();
    46.         disconectionRequested.Dispose();
    47.     }
    48.  
    49.     protected override JobHandle OnUpdate(JobHandle inputDeps)
    50.     {
    51.      
    52.         return inputDeps;
    53.     }
    54. }
    55.