From 0a8e405e623e1f45af7b6e847cf22aa8682db5d3 Mon Sep 17 00:00:00 2001 From: Karrar Date: Tue, 27 Aug 2024 09:48:24 +0300 Subject: [PATCH] Added settings to `LiteNetLibTransportProvider`. In addition, made general improvements and fixed a bug when sending user data with a byte size bigger than `_bytes` size. --- Netick/Editor/Netick.Unity.Editor.dll | Bin 61952 -> 61952 bytes Netick/Editor/Netick.Unity.Pro.Editor.dll | Bin 8192 -> 8192 bytes Netick/Editor/Unity.Netick.CodeGen.dll | Bin 22528 -> 22528 bytes Netick/Runtime/Netick.Unity.Pro.dll | Bin 16896 -> 16896 bytes Netick/Runtime/Netick.Unity.dll | Bin 132608 -> 132608 bytes Netick/Runtime/Netick.dll | Bin 250880 -> 250880 bytes .../LiteNetLibTransportProvider.asset | 4 + .../LiteNetLibTransportProvider.cs | 137 +++++++----------- package.json | 2 +- 9 files changed, 57 insertions(+), 86 deletions(-) diff --git a/Netick/Editor/Netick.Unity.Editor.dll b/Netick/Editor/Netick.Unity.Editor.dll index 319e7ecc42518ac512a68b7190f2ffbd9c7ea9d1..c3f4e47afe88c1c3c6b1401ca25bafaa623faa3b 100644 GIT binary patch delta 121 zcmZp8!rbtLc|r$^_}K+#Hui+?VKm1Xfv3UEJ_u zbHpJPMHW|a+vAfP9tQ{4DKI!HK0MJ)E0{{R3 delta 121 zcmZp8!rbtLc|r$^dsa~M#-8v!j7FQE?Agi$q-O13$0YEWhyTH&z?D85cE|HMF@??9 z9C1iRk>!Yj{_4pMj{^jP;}kNte|X@%Z=rNA2ZP1p$qycvDnJE)|APvGR7ZEN_|s5g P(D(Cv*{sc_Pr7*l>7F=t diff --git a/Netick/Editor/Netick.Unity.Pro.Editor.dll b/Netick/Editor/Netick.Unity.Pro.Editor.dll index fbe91848395d5e9a7660cb6499c2d71cab6bd4a6..3f57b69983973921c588545bd0e8648d073ebf5a 100644 GIT binary patch delta 105 zcmZp0XmFU&!7{ZXef7qk2|@za%X9r(z8-N{Yw~{fkHe4eY}OIp!Nf8vci*GQFGK?b z&O8fa@KMrq==J7bux-!R+mk)SDixrD48Bl7kZP_)^UIXeA8b^qJ{`3Ap_n`;089fh AT>t<8 delta 105 zcmZp0XmFU&!E!?5=97&*6NCh64YeLNy_?{=oc)uZ&@Sf_n{|YDFtM=7CV!axLNq`i z>BE)QN$PQKJ9hB}?Av6qX0nG^r2XaY6^n_G2=WH}=H13M}q6JoaAK%X>~xNavg>r=D&8;W~qz<>E_;{>f8( z0|XwGXjX1}Yw17##2mKN-mhOLfAK9-fCXaY6@6sMxD{8+&401wJfU`Ka~CPp`E#&F^@oC$8K4!*vEb%buxo4^N)r z8z9hr&%fSP)Xb|#!ed8+ms;WEFTQ08P(djks31tSjD-nfCu8Q+8rwgXo4fqVI01xa BF9!es diff --git a/Netick/Runtime/Netick.Unity.Pro.dll b/Netick/Runtime/Netick.Unity.Pro.dll index 7b8fa4a32405da6ea98bd3bec139f256c7f5dec3..82f4b6849d27a66d26e9f9ebae02d8a23778ed1c 100644 GIT binary patch delta 107 zcmZo@VQgq&oY29-o3(z*#-1Za0zdRjc|&4u`0rz4z8JJK<@@FY;|5k110UV>lb=`w z2pr(O*7p6Ux91k;z3T1*v;20wKxFS CPcT6M delta 107 zcmZo@VQgq&oY28?sY`#}#-1Za0+V$EPWExna_d|bn8+5!;jlTuxPg^re!#2Glb=`w z2uQU(a4vmu)o0sWzALQf3$IUhu`E)63d($g3W8Mce)Hpo$#Roh=|W9$%NG~Ql# zn(?+AOL2HW>-2zEi~#~{7EjJ?%j|NTI=?=TrCL*G`i57Gc?wX`i=t3bpn6u>9dcrI SGj>f?w_lLF-R?ExAt?aS+B6ja delta 122 zcmZqZ;b`dLn9#wZCCq)Wv1e-!qt7-0-XyDlV<)coZhzmfk2!6s`t}#w7&}B5jkXt_ zX1p!O!k*~YI6dGMV}L-$%$_udIb8nj(;V;5dH?6u^bM~V^Aw<>^I@Vu^^D&h7@qL? R{H~{@vi8h&yVs0|qyVTUIIREx diff --git a/Netick/Runtime/Netick.dll b/Netick/Runtime/Netick.dll index c172ef38e36d8f5f0820b2937975485f20716fec..0f8caf6af2c1ff47410171aa87c372694d6d799c 100644 GIT binary patch delta 20249 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 diff --git a/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.asset b/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.asset index a4cd2ed..213342c 100644 --- a/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.asset +++ b/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.asset @@ -12,3 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5b519f64e02c1ed48a5a00039c4f6c4e, type: 3} m_Name: LiteNetLibTransportProvider m_EditorClassIdentifier: + DisconnectTimeout: 5 + ReconnectInterval: 0.5 + MaxConnectAttempts: 10 + UpdateInterval: 0.015 diff --git a/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.cs b/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.cs index 429614f..66dcc45 100644 --- a/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.cs +++ b/Transport/LiteNetLib Transport/LiteNetLibTransportProvider.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using UnityEngine; using System.Net; using System.Net.Sockets; -using System.Runtime; using System; using Netick.Unity; @@ -14,7 +13,16 @@ namespace Netick.Transport [CreateAssetMenu(fileName = "LiteNetLibTransportProvider", menuName = "Netick/Transport/LiteNetLibTransportProvider", order = 1)] public class LiteNetLibTransportProvider : NetworkTransportProvider { - public override NetworkTransport MakeTransportInstance() => new LiteNetLibTransport(); + [Tooltip("Time duration (in seconds) until a connection is dropped when no packets were received.")] + public float DisconnectTimeout = 5; + [Tooltip("Time interval (in seconds) between connection attempts.")] + public float ReconnectInterval = 0.5f; + [Tooltip("Max number of connect attempts.")] + public int MaxConnectAttempts = 10; + [Tooltip("LiteNetLib internal logic update interval (in seconds).")] + public float UpdateInterval = 0.015f; + + public override NetworkTransport MakeTransportInstance() => new LiteNetLibTransport(this); } public class LiteNetLibTransport : NetworkTransport, INetEventListener @@ -44,37 +52,46 @@ namespace Netick.Transport private unsafe void SendLNL(byte* ptr, int length, DeliveryMethod deliveryMethod) { + if (Transport._bytes.Length < length) + Transport._bytes = new byte[length]; + for (int i = 0; i < length; i++) Transport._bytes[i] = ptr[i]; LNLPeer.Send(Transport._bytes, 0, length, deliveryMethod); } } + private LiteNetLibTransportProvider _provider; private NetManager _netManager; private BitBuffer _buffer; - private readonly byte[] _bytes = new byte[2048]; + private byte[] _bytes = new byte[2048]; private readonly byte[] _connectionBytes = new byte[200]; private int _port; - private bool _isServer = false; - private Dictionary _clients = new Dictionary(); - private Queue _freeClients = new Queue(); + private Dictionary _clients = new Dictionary(); + private Queue _freeClients = new Queue(); - // LAN Matchmaking - private List _sessions = new List(); - private NetDataWriter _writer = new NetDataWriter(); + // LAN Discovery + private List _sessions = new List(); + private NetDataWriter _writer = new NetDataWriter(); private string _machineName; + public LiteNetLibTransport(LiteNetLibTransportProvider provider) + { + this._provider = provider; + } + public override void Init() { - _buffer = new BitBuffer(createChunks: false); - // _bufferSize = 875 * 4; - - _netManager = new NetManager((INetEventListener)this) { AutoRecycle = true }; - _machineName = Environment.MachineName; - //_netManager.DisconnectTimeout = 1000; - + _buffer = new BitBuffer(createChunks: false); + _netManager = new NetManager((INetEventListener)this) { AutoRecycle = true }; + _machineName = Environment.MachineName; + _netManager.DisconnectTimeout = (int)( _provider.DisconnectTimeout * 1000); + _netManager.ReconnectDelay = (int)(_provider.ReconnectInterval * 1000); + _netManager.MaxConnectAttempts = _provider.MaxConnectAttempts; + _netManager.UpdateTime = (int)(_provider.UpdateInterval * 1000); + for (int i = 0; i < Engine.Config.MaxPlayers; i++) _freeClients.Enqueue(new LNLConnection(this)); } @@ -95,14 +112,12 @@ namespace Netick.Transport { _netManager.UnconnectedMessagesEnabled = true; _netManager.Start(); - _isServer = false; } else { _netManager.BroadcastReceiveEnabled = true; _netManager.Start(port); - _isServer = true; } _port = port; @@ -124,12 +139,10 @@ namespace Netick.Transport } else { - _writer.Reset(); - _writer.Put(connectionData, 0, connectionDataLen); + _writer. Reset(); + _writer. Put(connectionData, 0, connectionDataLen); _netManager.Connect(address, port, _writer); } - - } public override void Disconnect(TransportConnection connection) @@ -137,24 +150,6 @@ namespace Netick.Transport _netManager.DisconnectPeer(((LNLConnection)connection).LNLPeer); } - //public override void HostMatch(string name) - //{ - - //} - - //public override void UpdateMatchList() - //{ - // if (!_netManager.IsRunning) - // _netManager.Start(); - - // _sessions.Clear(); - // _writer.Reset(); - // _writer.Put(NetickConfig.LAN_DISCOVERY); - // _netManager.SendBroadcast(_writer, _port); - //} - - /// //////////////////////////////////////////// - void INetEventListener.OnConnectionRequest(ConnectionRequest request) { if (_clients.Count >= Engine.Config.MaxPlayers) @@ -163,7 +158,7 @@ namespace Netick.Transport return; } - int len = request.Data.AvailableBytes; + int len = request.Data.AvailableBytes; request.Data.GetBytes(_connectionBytes, 0, len); bool accepted = NetworkPeer.OnConnectRequest(_connectionBytes, len, request.RemoteEndPoint.ToNetickEndPoint()); @@ -175,26 +170,32 @@ namespace Netick.Transport void INetEventListener.OnPeerConnected(NetPeer peer) { - var connection = _freeClients.Dequeue(); + var connection = _freeClients.Dequeue(); connection.LNLPeer = peer; - _clients.Add(peer, connection); + _clients. Add(peer, connection); NetworkPeer.OnConnected(connection); } void INetEventListener.OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo) { - if (!_isServer) + if (!Engine.IsServer) { - if (disconnectInfo.Reason == DisconnectReason.ConnectionRejected || disconnectInfo.Reason == DisconnectReason.ConnectionFailed) + if (disconnectInfo.Reason == DisconnectReason.ConnectionRejected) { NetworkPeer.OnConnectFailed(ConnectionFailedReason.Refused); return; } + if (disconnectInfo.Reason == DisconnectReason.ConnectionFailed || disconnectInfo.Reason == DisconnectReason.Timeout) + { + NetworkPeer.OnConnectFailed(ConnectionFailedReason.Timeout); + return; + } + if (peer == null) { - Debug.Log($"ERROR: {disconnectInfo.Reason}"); + Debug.Log($"LiteNetLib Network Error: {disconnectInfo.Reason}"); NetworkPeer.OnConnectFailed(ConnectionFailedReason.Refused); return; } @@ -210,9 +211,9 @@ namespace Netick.Transport { TransportDisconnectReason reason = disconnectInfo.Reason == DisconnectReason.Timeout ? TransportDisconnectReason.Timeout : TransportDisconnectReason.Shutdown; - NetworkPeer.OnDisconnected(_clients[peer], reason); + NetworkPeer. OnDisconnected(_clients[peer], reason); _freeClients.Enqueue(_clients[peer]); - _clients.Remove(peer); + _clients. Remove(peer); } } @@ -221,61 +222,27 @@ namespace Netick.Transport if (_clients.TryGetValue(peer, out var c)) { var len = reader.AvailableBytes; - reader.GetBytes(_bytes, 0, reader.AvailableBytes); + reader. GetBytes(_bytes, 0, reader.AvailableBytes); fixed(byte* ptr = _bytes) { - _buffer.SetFrom(ptr, len, _bytes.Length); + _buffer. SetFrom(ptr, len, _bytes.Length); NetworkPeer.Receive(c, _buffer); } } } - void INetEventListener.OnNetworkReceiveUnconnected(IPEndPoint remoteEndPoint, NetPacketReader reader, UnconnectedMessageType messageType) { - //ulong msgType = reader.GetULong(); - - //if (msgType == NetickConfig.LAN_DISCOVERY_RESPONSE) - //{ - // string name = reader.GetString(); - // int port = reader.GetInt(); - - // var newSession = new Session() - // { - // Name = name, - // IP = remoteEndPoint.Address.ToString(), - // Port = port - // }; - - // if (!_sessions.Contains(newSession)) - // _sessions.Add(newSession); - - // OnMatchListUpdate(_sessions); - //} - - //else if (_isServer && msgType == NetickConfig.LAN_DISCOVERY) - //{ - // _writer.Reset(); - // _writer.Put(NetickConfig.LAN_DISCOVERY_RESPONSE); - // _writer.Put(_machineName); - // _writer.Put(_port); - - // _netManager.SendUnconnectedMessage(_writer, remoteEndPoint); - //} } - void INetEventListener.OnNetworkError(IPEndPoint endPoint, SocketError socketError) { - Debug.Log("[S] NetworkError: " + socketError); + Debug.Log("LiteNetLib Network Error: " + socketError); NetworkPeer.OnConnectFailed(ConnectionFailedReason.Refused); } void INetEventListener.OnNetworkLatencyUpdate(NetPeer peer, int latency) { } - - - } diff --git a/package.json b/package.json index cfc1bc5..7a2e773 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.karrar.netick", - "version": "0.12.22", + "version": "0.12.23", "displayName": "Netick", "description": "A networking solution for Unity", "unity": "2021.3",