コード例 #1
0
        /// <summary> Called to return the next transmitter for sending </summary>
        /// <returns> SmppConnection </returns>
        private EsmeConnection NextTransmitterConnection()
        {
            EsmeConnection smppConnection = null;

            var totalConnections = Transmitters.Count();

            // We only want a bound connection. We will try them all
            for (var connection = 0; connection < totalConnections; ++connection)
            {
                lock (Transmitters)
                {
                    smppConnection = Transmitters[NextTransmitter];

                    if (++NextTransmitter > Transmitters.Count())
                    {
                        NextTransmitter = 1;
                    }

                    if (smppConnection.Status == ConnectionStatus.Bound)
                    {
                        break;
                    }

                    smppConnection = null;
                }
            }

            return(smppConnection);
        }
コード例 #2
0
        /// <summary> Called to add a transmitter connection </summary>
        /// <param name="connectionId"></param>
        /// <param name="host"></param>
        /// <param name="port"></param>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="logKey"></param>
        /// <param name="defaultEncoding"></param>
        private void AddTransmitterConnection(int connectionId,
                                              string host,
                                              int port,
                                              string userName,
                                              string password,
                                              string logKey,
                                              DataCodings defaultEncoding)
        {
            lock (Transmitters)
            {
                // Create the smppConnection object
                var smppConnection = new EsmeConnection(connectionId,
                                                        ShortLongCode,
                                                        ConnectionModes.Transmitter,
                                                        host,
                                                        port,
                                                        userName,
                                                        password,
                                                        logKey,
                                                        defaultEncoding,
                                                        ConnectionEventConnectionHandler,
                                                        null,
                                                        ReceivedGenericNackConnectionHandler,
                                                        SubmitMessageConnectionHandler,
                                                        QueryMessageConnectionHandler,
                                                        LogEventConnectionHandler,
                                                        PduDetailsConnectionHandler);

                // Add the connection to the list
                Transmitters.Add(connectionId,
                                 smppConnection);
            }
        }