public void ConnectAsync(MqttConnectMessageBuilder bldr, string ipOrHost, int port, SocketEncryption encryption, object eventData) { var args = new SocketEventArgs { EncryptionLevel = encryption, ClientUid = GenerateClientUid(bldr) }; args.OnOperationComplete((eventArgs) => { OnTcpConnectAsyncCompleted(eventArgs, eventData); if (eventArgs.SocketException == null) { SendMessageAsync(bldr, eventData, eventArgs.ClientUid); } else { FireConnectComplete(new MqttNetEventArgs { Message = bldr.GetMessage(), Exception = eventArgs.SocketException, AdditionalErrorInfo = eventArgs.AdditionalErrorInfo, EventData = eventData, ClientUid = args.ClientUid }); } }); Socket.ConnectAsync(ipOrHost, port, args); }
/// <inheritdoc cref="ConnectAsync"/> public Task ConnectAsync(ISession session, bool appearOnline = false, int connectTimeoutSec = DefaultConnectTimeout, string langTag = "en") { var uri = new UriBuilder(_baseUri) { Path = "/ws", Query = $"lang={langTag}&status={appearOnline}&token={session.AuthToken}" }.Uri; return(_adapter.ConnectAsync(uri, connectTimeoutSec)); }