/// <summary> /// Method responsible to connect client in server. /// </summary> /// <param name="ip">The ip address from server.</param> /// <param name="port">The port number from server, the default value us 7171</param> /// <param name="listenerType">The listener type to creation of listener, the default value is NetworkListenerType.TCP.</param> /// <param name="maxMessageBuffer">The max length of message buffer, the default value is 4096.</param> /// <returns>The boolean value of client connection.</returns> public bool Connect(string ip, ushort port = 7171, NetworkListenerType listenerType = NetworkListenerType.TCP, ushort maxMessageBuffer = 4096) { try { if (listenerType == NetworkListenerType.TCP) { _networkListener = new TcpNetworkListener(OnMessageReceived, OnDisconnected); } else if (listenerType == NetworkListenerType.UDP) { _networkListener = new UdpNetworkListener(OnMessageReceived, OnDisconnected); } else if (listenerType == NetworkListenerType.WSBinary || listenerType == NetworkListenerType.WSText) { _networkListener = new WSNetworkListener(listenerType, OnMessageReceived, OnDisconnected); } _clientThread = new Thread(() => { _networkListener.StartClient(ip, port, maxMessageBuffer); }); _clientThread.IsBackground = true; _clientThread.Start(); Thread.Sleep(15); // Delay for socket connection. } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}."); } return(HasConnected); }