Exemple #1
0
        public override void Close()
        {
            _senderClient?.Close();
            _listenerServer?.Stop();

            NetworkServiceLogger.Log("TCP протокол закрыт");
        }
Exemple #2
0
        public override void Close()
        {
            senderClient?.Close();
            listenerClient?.Close();

            NetworkServiceLogger.Log("UDP протокол закрыт");
        }
Exemple #3
0
        public override void SetListenerPort(int port)
        {
            ListenerPort = port;

            listenerClient = new UdpClient(ListenerPort);

            NetworkServiceLogger.Log($"Порт прослушивания {ListenerPort} установлен");
        }
Exemple #4
0
        public override void SetListenerPort(int port)
        {
            ListenerPort = port;

            _listenerServer = new TcpListenerWrapper(IPAddress.Any, port);
            NetworkServiceLogger.Log($"Порт прослушивания {ListenerPort} установлен");

            _listenerServer.Start();
            NetworkServiceLogger.Log("Прослушивание началось");
        }
Exemple #5
0
        public virtual void SetRecieverPort(int port)
        {
            if (port == -1)
            {
                return;
            }

            RecieverPort = port;

            NetworkServiceLogger.Log($"Порт получателя {RecieverPort} установлен");
        }
Exemple #6
0
        public virtual void SetRecieverIp(string ip)
        {
            IPAddress parsedIp;
            var       isParsed = IPAddress.TryParse(ip, out parsedIp);

            if (isParsed == true)
            {
                RecieverIp = parsedIp;
                NetworkServiceLogger.Log($"Адрес получателя {RecieverIp} установлен.");

                return;
            }

            NetworkServiceLogger.LogWarning($"IP адрес \"{ip}\" имеет некорректный формат. (x*.x*.x*.x*)");
        }
Exemple #7
0
        public override void ListenString(Action <string> eventActivator)
        {
            if (_listenerServer == null)
            {
                return;
            }

            if (!_listenerServer.Active)
            {
                return;
            }

            try
            {
                // Пока есть ожидающие подключения
                while (_listenerServer.Pending())
                {
                    var client = _listenerServer.AcceptTcpClient();

                    var clientEntity = new ClientEntity(this, client, eventActivator);
                    clientEntity.OnProcessComplete += (x) => RemoveClient(x);
                    clients.Add(clientEntity);

                    // Запуск потока с обработкой клиента
                    var clientThread = new Thread(new ThreadStart(() => clientEntity.Process()));
                    clientEntity.SetThreadReference(clientThread);
                    clientThread.Start();
                }
            }
            catch (SocketException ex)
            {
                NetworkServiceLogger.Log($"Получение клиентов остановлено извне {ex.ErrorCode}");
            }

            return;
        }
Exemple #8
0
 /// <summary>
 /// Уведомляет о полной отправке сообщения.
 /// </summary>
 protected void MessageFullySended()
 {
     NetworkServiceLogger.LogWarning("Сообщение доставлено полностью.");
 }
Exemple #9
0
        /// <summary>
        /// Уведомляет о неполной отправке сообщения.
        /// </summary>
        protected void MessageNotFullySended(int actual, int expected)
        {
            var percent = ((float)actual / (float)expected) * 100;

            NetworkServiceLogger.LogWarning($"Сообщение доставлено на {percent.ToString(1)}%");
        }
Exemple #10
0
 /// <summary>
 /// Уведомляет о неуспешной отправке сообщения
 /// </summary>
 protected void MessageNotSended()
 {
     NetworkServiceLogger.LogWarning("Сообщение не отправлено.");
 }