示例#1
0
        private static Connect CreateConnectPacket(MqttConnectionSettings connectionSettings)
        {
            var flags = ConnectFlags.None;

            if (connectionSettings.CleanSession)
            {
                flags |= ConnectFlags.CleanSession;
            }

            var connect = new Connect
            {
                ClientId  = connectionSettings.ClientId,
                KeepAlive = connectionSettings.KeepAlive,
                Flags     = flags
            };

            if (connectionSettings.WillMessageSettings != null)
            {
                connect.Flags      |= ConnectFlags.Will;
                connect.WillTopic   = connectionSettings.WillMessageSettings.Topic;
                connect.WillMessage = connectionSettings.WillMessageSettings.Message;
            }

            return(connect);
        }
示例#2
0
        public static void SendConnectionRequest(this IForwarder forwarder, MqttConnectionSettings connectionSettings)
        {
            var connectPacket = CreateConnectPacket(connectionSettings);

            forwarder.Dispatch(connectPacket);
        }