Asynchronous socket error 10053 казаки 3

Некоторые пользователи Windows сталкиваются с кодом ошибки 10053 при попытке подключить свой компьютер с помощью почты SMTP или при попытке выполнить команду

Некоторые пользователи Windows сталкиваются с кодом ошибки 10053 при попытке подключить свой компьютер с помощью почты SMTP или при попытке выполнить команду Winsock. Эта проблема обычно связана с ограничениями маршрутизатора, чрезмерно защищающими брандмауэрами или прокси-серверами и VPN.

Ошибка асинхронного сокета 10053

После изучения этой конкретной проблемы выяснилось, что существует несколько различных причин, которые могут вызывать этот код ошибки. Вот краткий список потенциальных виновников:

  • Прерывание соединения из-за вашей машины. Как оказалось, эта проблема может возникнуть из-за того, что в очереди сокета нет места, поэтому сокет не может получить дальнейшее соединение. Этот тип проблемы часто связан с активным прокси-сервером или сетью VPN, которые в конечном итоге занимают всю драгоценную очередь сокетов. В этом случае отключение или удаление прокси-сервера или VPN-клиента должно позволить вам решить проблему.
  • Недавно прерванное соединение — при определенных обстоятельствах эта проблема также может возникнуть, если система локальной сети прерывает соединение после сбоя передачи данных. В этом случае получатель никогда не подтверждает данные, отправленные через сокет данных. Обычно это вызвано чрезмерной защитой антивируса или брандмауэра.
  • Сценарий TCP / IP — проблемное соединение также может быть причиной этого кода ошибки, если оно истекает после того, как локальная система не получает подтверждения для отправленных данных. Если этот сценарий применим, сброс данных TCP / IP должен решить проблему и устранить код ошибки. Если это не сработает, вам следует перезагрузить или перезагрузить маршрутизатор или модем.

Метод 1. Отключение или удаление избыточных антивирусных программ (если применимо)

Если вы используете сторонний пакет, вы сталкиваетесь с кодом ошибки 10053 при попытке выполнить определенное действие, связанное с вашим почтовым клиентом (например, загрузка или отправка электронной почты через VPOP3), скорее всего, эта проблема вызвана вашим программа-антивирус.

По словам некоторых затронутых пользователей, эта проблема часто вызвана определенными версиями McAfee VirusScan и Norton Antivirus — это всего лишь две сторонние антивирусные программы, которые мы обнаружили, но может быть и другое программное обеспечение, вызывающее такую ​​же проблему.

Если этот сценарий выглядит так, как будто он может быть применим, вы должны начать с отключения защиты в реальном времени и посмотреть, перестает ли возникать код ошибки — в большинстве пакетов AV вы можете отключить защиту в режиме реального времени, щелкнув правой кнопкой мыши панель в трее. значок и ищет параметр, который отключит экраны в реальном времени.

Щелкните правой кнопкой мыши значок Avast на панели задач, чтобы временно отключить Avast

Если отключение защиты в реальном времени не привело к устранению проблемы, следуйте приведенным ниже инструкциям, чтобы удалить проблемный пакет со своего компьютера и удалить все остаточные файлы, чтобы устранить проблему:

  1. Откройте диалоговое окно «Выполнить», нажав клавиши Windows + R. Затем введите «appwiz.cpl» в текстовое поле и нажмите Enter, чтобы открыть меню «Программы и файлы».Введите appwiz.cpl и нажмите Enter, чтобы открыть страницу установленных программ.
  2. Зайдя в меню «Программы и компоненты», прокрутите список установленных программ и найдите проблемный антивирус или брандмауэр, вызывающий конфликт.
  3. Когда вы его увидите, щелкните его правой кнопкой мыши и выберите «Удалить» из появившегося контекстного меню, чтобы начать процесс удаления.Удаление антивируса
  4. После завершения операции перезагрузите компьютер и дождитесь завершения следующего запуска.
  5. После того, как компьютер загрузится, следуйте инструкциям, относящимся к вашему антивирусу, чтобы удалить все остаточные файлы, оставшиеся после установки стороннего антивируса.
  6. Как только вам удастся полностью удалить сторонний пакет безопасности из вашего AV, перейдите к следующему потенциальному исправлению ниже.

Если та же проблема все еще возникает после удаления вашего стороннего пакета или этот метод не применим, перейдите к следующему потенциальному исправлению ниже.

Метод 2: Выполнение полного сброса TCP / IP

Если код ошибки 10053 возникает сразу после разрыва соединения TCP / IP в Windows, скорее всего, это проблема с тайм-аутом передачи данных или ошибкой протокола. Как выясняется, это, скорее всего, вызвано сбоями в работе сетевого адаптера или классическим случаем неправильного диапазона DNS.

По словам некоторых затронутых пользователей, эту проблему иногда можно решить, выполнив полный сброс TCP / IP на каждом компьютере, входящем в состав локальной мастерской.

Если вы не знаете, как это сделать, следуйте приведенным ниже инструкциям, чтобы выполнить полный сброс TCP / IP из командной строки с повышенными привилегиями:

  1. Откройте диалоговое окно «Выполнить», нажав клавиши Windows + R. Затем введите cmd внутри текстового поля и нажмите Ctrl + Shift + Enter, чтобы открыть командную строку с повышенными правами. По запросу UAC (Контроль учетных записей пользователей) нажмите Да, чтобы предоставить доступ администратора.Запуск командной строки
  2. Как только вы войдете в командную строку с повышенными привилегиями, введите следующие команды по порядку и нажмите Enter после каждой, чтобы выполнить полный сброс TCP / IP: ipconfig / flushdns nbtstat -R nbtstat -RR netsh int reset all netsh int ip reset netsh winsock сброс настроек
  3. После успешной обработки каждой команды закройте командную строку с повышенными привилегиями и перезагрузите компьютер.
  4. После завершения следующего запуска повторите действие, которое ранее вызывало код ошибки 10053, и посмотрите, устранена ли проблема.

Метод 3: перезагрузка или сброс маршрутизатора / модема

Если приведенные выше команды Winsock не устранили проблему в вашем случае, вам следует продолжить, исключив текущую сеть из списка потенциальных виновников.

По мнению некоторых затронутых пользователей, эта проблема также может возникать в тех случаях, когда ваш интернет-провайдер назначает динамический IP-адрес, который конфликтует с определенными параметрами SMTP.

В случае, если этот сценарий применим, есть два способа решить проблему и избежать получения кода ошибки 10053:

  • Перезагрузка сетевого устройства — эта операция завершит обновление TCP- и IP-соединения и заставит ваш маршрутизатор / модем назначить новую информацию, связанную с вашим подключением.
  • Сброс сетевого устройства — это очистит все пользовательские настройки, которые в настоящее время применяются вашим маршрутизатором или модемом, и вернет ваше сетевое устройство к заводским настройкам.

Если вы планируете или применяете этот метод, мы советуем начать с простого перезапуска и переходить ко второй процедуре только в том случае, если первое вспомогательное руководство (A) не решает проблему:

A. Перезагрузка роутера / модема

Если вы хотите решить проблему без сброса каких-либо конфиденциальных данных, которые в настоящее время хранятся на вашем маршрутизаторе или модеме, это способ сделать это.

Чтобы выполнить перезагрузку (перезагрузку) маршрутизатора, обратите внимание на заднюю часть сетевого устройства и нажмите кнопку включения / выключения, чтобы выключить устройство. После этого также отсоедините кабель питания от розетки, к которой он в данный момент подключен, и подождите целую минуту, чтобы убедиться, что силовые конденсаторы полностью разряжены.

Перезагрузка роутера

После того, как вам удастся перезапустить маршрутизатор, обязательно отключите кабель питания и подождите целую минуту, чтобы убедиться, что силовые конденсаторы полностью разряжены, прежде чем возобновлять питание.

По истечении этого периода повторно подключите кабель питания и дождитесь восстановления доступа к Интернету, прежде чем повторять действие, которое ранее вызывало код ошибки.

Если та же проблема все еще возникает, перейдите к следующему потенциальному исправлению ниже.

Б. Сброс маршрутизатора / модема

Если в вашем случае первый метод не сработал, скорее всего, вы имеете дело с более серьезным несоответствием, которое коренится в меню настроек вашего маршрутизатора или модема.

В этом случае вам следует сбросить маршрутизатор или модем до заводского состояния, восстановить доступ в Интернет и посмотреть, закончится ли эта операция исправлением ошибки 10053.

Важно: прежде чем принудительно выполнить эту операцию, имейте в виду, что в конечном итоге будут удалены все настройки, которые вы ранее установили для своего маршрутизатора. Это будет включать любые сохраненные учетные данные PPPoE, внесенные в белый список или заблокированные сообщения и перенаправленные данные TCP / IP.

Чтобы инициировать сброс маршрутизатора или модема, найдите кнопку сброса (обычно она находится на задней панели маршрутизатора). Когда вам удастся найти его, нажмите кнопку сброса и удерживайте ее нажатой в течение 10 секунд или пока не заметите, что все светодиоды устройства мигают одновременно.

Сброс маршрутизатора

Примечание. Для большинства моделей маршрутизаторов вам понадобится острый предмет, чтобы можно было нажать и удерживать кнопку сброса.

После завершения процедуры сброса дождитесь восстановления доступа к Интернету, затем посмотрите, исправлен ли теперь код ошибки 10053. Имейте в виду, что если ваш интернет-провайдер использует PPPoE, вам нужно будет повторно вставить правильные учетные данные, прежде чем доступ в Интернет будет восстановлен.

Если этот сценарий неприменим или вы уже пробовали это безуспешно, перейдите к следующему потенциальному исправлению ниже.

Метод 4: отключите прокси или VPN-соединение (если применимо)

Если ни один из вышеперечисленных методов не устранил проблему в вашем случае, и вы используете VPN-клиент или прокси-сервер, чтобы скрыть происхождение вашего подключения, это, скорее всего, является источником ошибки 10053.

Нам удалось найти множество пользовательских отчетов, в которых утверждалось, что эта конкретная ошибка была вызвана либо клиентом VPN, либо прокси-сервером, который был принудительно применен на системном уровне.

В зависимости от используемого вами решения по обеспечению анонимности вы сможете решить проблему, отключив прокси-сервер или полностью удалив VPN на системном уровне.

Мы рассмотрели оба возможных сценария, поэтому не стесняйтесь следовать одному из нижеприведенных руководств, чтобы отключить прокси-сервер системного уровня или удалить VPN-клиент:

A. Удаление VPN на уровне системы

  1. Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Как только вы окажетесь внутри, введите appwiz.cpl в текстовое поле и нажмите Enter, чтобы открыть меню «Программы и компоненты». Когда вам будет предложено UAC (Контроль учетных записей пользователей), нажмите Да, чтобы предоставить доступ администратора.Введите appwiz.cpl и нажмите Enter, чтобы открыть страницу установленных программ.
  2. Как только вы окажетесь на экране «Программы и компоненты», найдите VPN-клиент в списке установленных приложений. Когда вы найдете его, щелкните его правой кнопкой мыши и выберите «Удалить» из появившегося контекстного меню.Удаление инструмента VPNУдаление инструмента VPN
  3. Находясь внутри экрана установки, следуйте инструкциям на экране, чтобы завершить процесс установки, затем перезагрузите компьютер после завершения операции и посмотрите, будет ли проблема устранена после завершения следующего запуска.

Б. Отключение прокси-сервера

  1. Откройте диалоговое окно «Выполнить», нажав клавиши Windows + R. Внутри текстового поля введите inetcpl.cpl и нажмите Enter, чтобы открыть вкладку «Свойства Интернета». Когда вам будет предложено UAC (Контроль учетных записей пользователей), нажмите Да, чтобы предоставить доступ администратора.Диалог запуска: inetcpl.cplДиалог запуска: inetcpl.cpl
  2. Как только вы окажетесь на экране свойств Интернета, перейдите на вкладку «Подключение» в горизонтальном меню в верхней части экрана, затем нажмите «Настройки локальной сети» (прямо под настройками локальной сети).
    Откройте настройки LAN в Internet Options
  3. Как только вы войдете в настройки локальной сети (LAN), войдите в категорию прокси-серверов и снимите флажок, связанный с Use a proxy server for your LAN.
    Отключение прокси-сервера
  4. После успешного отключения прокси-сервера перезагрузите компьютер и посмотрите, будет ли проблема устранена после завершения следующего запуска.

Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

1

08.07.2014, 11:50. Показов 8028. Ответов 18

Метки нет (Все метки)


Всем привет. Сразу к делу. Работаю с компонентом ServerSocket, при приеме данных возникает asynchronous socket error 10053.
Сервер работает в режиме stNonBlocking, клиент — постоянно посылает какую-то информацию. Задача — принять и обработать. Интервал между посылками, примерно 20ms а размер пакета 150 байт.

C++
1
2
std::vector <unsigned char> dataAll; //приемный контейнер
BYTE buf[2000];                 //переменный буфер
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
        length = ServerSocket1->Socket->Connections[0]->ReceiveLength();
        ServerSocket1->Socket->Connections[0]->ReceiveBuf(buf, length);
        dataAll.resize(dataAll.size() + length);
        memcpy(&dataAll[dataAll.size() - length], &buf, length);
        lengthAll+=length; Form1->Edit2->Text = lengthAll;

Принимаю в контейнер, таким вот способом, по событию чтения клиента. Так вот, открываю порт, слушаю, жду connect’a, пока все в порядке. Но как только клиент подключается, он сразу же начинает забрасывать потоком данных и не успев принять, возникает error 10053.
Какие есть варианты? Быть может прописать что-то в OnClientError, помимо ErrorCode = 0.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

08.07.2014, 11:50

18

733 / 524 / 129

Регистрация: 31.05.2013

Сообщений: 2,922

Записей в блоге: 3

08.07.2014, 14:29

2

Скорее всего не хватает выделенной памяти на прием в Вашем «контейнере»



0



Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

08.07.2014, 17:41

 [ТС]

3

Так Вектор в том-то и дело что сам наращивается и ему все равно какой длинны он будет, пока не займет в теории всю оперативную память компьютера.
Другое дело что массив в векторе в памяти идет как бы подряд и если какой-то участок памяти на его доблестном разрастании занят, то он переносит весь вектор в новый участок плюс резервирует место, при каждом наращивании все больше и больше.
Проблема в том что как только клиент присоединяется, моментально вылетает ошибка или вовсе программа убивается виндой. Не понимаю почему так.

Добавлено через 2 часа 21 минуту
Попробовал стандартный чатик из Examples в builder. Все великолепно принимает, простой как палка.

C++
1
2
3
4
5
void __fastcall TChatForm::ServerSocketClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
  Memo2->Lines->Add(Socket->ReceiveText());  
}

Опять же проблема значится в алгоритме записи моем. У кого есть какие идеи как записать, если не с помощью вектора. В принципе, мне ведь все равно, идут данные подряд в памяти или нет. Можно использовать и контейнеры с указателем на следующую ячейку. Может повозиться с динамическим буфером, второй побольше создать, туда перенести, как заполнен первый а потом удалить его. Есть-какие предложения?
Или использовать ReceiveText, загонять в string, а после уже разбивать как захочу?
Но разве это из-за ReceiveBuf() запара? Или все-таки с вектором перемудрил?



0



Dinkin

733 / 524 / 129

Регистрация: 31.05.2013

Сообщений: 2,922

Записей в блоге: 3

08.07.2014, 18:13

4

можно попробовать так

C
1
2
3
int len = ServerSocket1->Socket->ReceiveLength();
char* buf= new char[len+1];
ServerSocket1->Socket->ReceiveBuf((void*)buf, len);



1



91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

09.07.2014, 10:21

5

Dinkin, прежде, чем ковыряться в коде, имеет смысл ознакомиться с самой ошибкой. 10053 означает «удалённый компьютер закрыл подключение». Из-за чего-то. Т.е., при попытке доступа к сокету, соединение уже разорвано. Думаю, надо смотреть клиента…



0



733 / 524 / 129

Регистрация: 31.05.2013

Сообщений: 2,922

Записей в блоге: 3

09.07.2014, 11:46

6

Цитата
Сообщение от c0rvax
Посмотреть сообщение

смысл ознакомиться с самой ошибкой. 10053 оз

Так он же пишет, что при нормальной отправке данных все норм…а данная ошибка в основном распространяется на сервер, который закрывает соединение, если что-то не успел/не смог обработать по какой-либо причине.



0



c0rvax

91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

09.07.2014, 12:03

7

Dinkin, можешь, конечно, остаться при своих. А можешь показать код, как происходит отправка. Или хотя бы сделай предварительную проверку, активно ли подключение

C++
1
2
3
4
if( ServerSocket1->Socket->Connections[0]->Connected )
{
  ...
}



0



733 / 524 / 129

Регистрация: 31.05.2013

Сообщений: 2,922

Записей в блоге: 3

09.07.2014, 13:05

8

так я то че, не мне же помогать,с меня за чем код?) а парень свой код выше показал, при каких случаях у него ошибка



0



Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 11:03

 [ТС]

9

Клиент, это плата, подсоединенная к чипу Withnet Ethernet W5100, она просто кидает connect и если сервер отвечает, начинает забрасывать данные. Дело в том что другая прога, которую я писал на Delphi, работает, хотя в builder’e сделал все аналогично, за исключением вектора. Там был статический буфер, набиваемый до конца, а после закрывающий соединение. И еще, как я понял Indy server работает в Thread blocking а Server socket в nonBlocking.
Теперь же задача стоит в том, что мы не знаем сколько будет данных, поэтому и вектор. Плата шлет огромное количество попыток connect() и как только получает ответ, начинает кидать данные.

C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
        mLog->SelAttributes->Color = clBlue;
        mLog->Lines->Add("[" + TimeToStr(Time()) + "] подключен: " + ServerSocket1->Socket->Connections[0]->RemoteAddress);
        Edit1->Text = Form1->ServerSocket1->Socket->Connections[0]->RemoteAddress;
 
}

Особенность только в работе с платой, но дело ведь в том что на другой проге все ок, а с этими сокетами ошибки лезут вот такие.

Добавлено через 5 минут
И я тут подумал, если попыток connect’а много, пока сеть обнаружится, все дела, ведь до подачи питания на плату, сети-то и нет. Так вот, приходит сразу 10 коннектов, у меня не предусмотрена работа с несколькими соединениями. Сервер видит их как много клиентов и открывает столько потоков, сколько пришло connect(). А после и ложится, ибо я работаю только с Connections[0]. Больше не предусмотрел, все равно клиент всегда один.
В ThreadBlocking все идет одним потоком и ему до лампочки сколько connect() он получил. Начал, отработал и дисконнектнул клиента.



0



91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

10.07.2014, 12:24

10

Zerorc, ну, какие мысли. Во-первых, «буфер, набиваемый до конца, а после закрывающий соединение» — это уже неправильно. Соединение не следует закрывать, пока программа работает. Общая логика такова: открыли один раз соединение, набиваем буфер, набили отправили, очистили буфер, снова набиваем. И ничего не закрываем, соединение всегда установлено. Практика показывает, что команда на закрытие соединения может придти гораздо быстрее, чем отправляемый буфер данных. И в тот момент, когда сервер начинает что-то пытаться читать из сокета, последний уже закрыт, а то и NULL. Отсюда и ошибка 10053 возникает «удалённый компьютер закрыл подключение».

Во-вторых, совершенно правильная мысль, что неверно обращаться к Connections[0]. Для того, чтобы серверу однозначно правильно что-то читать из сокетов, надо использовать передаваемый в событие OnClientRead параметр Socket, ибо это именно он готов отдать какие-то данные. А самих активных подключений [ServerSocket->ActiveConnections] может быть великое множество.



1



Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 12:37

 [ТС]

11

Дело в том что так было в прошлой программе и все работало, теперь я не закрываю соединение, к тому же там буфер был действительно огромный и мог принять большой обьем информации. Знаю, что лучше в файл, потом очищать буфер, дописывать в файлик и тд.

Переделал код таким вот образом

C++
1
 int concnt = -1; //счетчик действующих клиентов. Глобально
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
         concnt++;
        mLog->SelAttributes->Color = clBlue;
        mLog->Lines->Add("[" + TimeToStr(Time()) + "] подключен: " + ServerSocket1->Socket->Connections[concnt]->RemoteAddress);
        Edit1->Text = Form1->ServerSocket1->Socket->Connections[concnt]->RemoteAddress;
}
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::ServerSocket1ClientDisconnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
        mLog->SelAttributes->Color = clGray;
        mLog->Lines->Add("[" + TimeToStr(Time()) + "] отключен: " + ServerSocket1->Socket->Connections[concnt]->RemoteAddress);
        GraphTimer->Enabled = false;
        concnt--;
}
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
        unsigned len = ServerSocket1->Socket->Connections[concnt]->ReceiveLength();
        BYTE* buf= new BYTE[len+1];
        ServerSocket1->Socket->Connections[concnt]->ReceiveBuf((char*)buf, len);
dataAll.resize(dataAll.size() + len);
        memcpy(&dataAll[dataAll.size() - len], buf, len);
        lenAll+=len; Form1->Edit2->Text = lenAll;
 
        delete buf;

что происходит. Пишет что клиент подключен, может и раз десять так написать, подряд и принимает какими-то промежутками данные. Все равно не то что нужно. Соединение не закрываю вообще.



0



c0rvax

91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

10.07.2014, 12:58

12

Лучший ответ Сообщение было отмечено Zerorc как решение

Решение

Я говорил про это

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
        unsigned len = Socket->ReceiveLength(); // сокет, который из параметров !!!
        BYTE* buf= new BYTE[len+1];
        Socket->ReceiveBuf((char*)buf, len);
dataAll.resize(dataAll.size() + len);
        memcpy(&dataAll[dataAll.size() - len], buf, len);
        lenAll+=len; Form1->Edit2->Text = lenAll;
 
        delete buf;



1



Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 13:49

 [ТС]

13

Опа! А вот тут я не понял. Я беру получается, обращаясь к определенному соединению, которое, быть может, было когда-то но в данный момент его нет. И из-за этого ошибка 10053.

Но, когда я обращаюсь к активному соединению, посредством

C++
1
unsigned len = Socket->ReceiveLength(); // сокет, который из параметров !!!

то данные я гарантированно получу. Так?

C++
1
2
3
4
5
6
7
8
        unsigned len = Socket->ReceiveLength();
        BYTE* buf= new BYTE[len+1];
        Socket->ReceiveBuf((char*)buf, len);
        dataAll.resize(dataAll.size() + len);
        memcpy(&dataAll[dataAll.size() - len], buf, len);
        lenAll+=len; Form1->Edit2->Text = lenAll;
 
        delete buf;



0



91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

10.07.2014, 14:36

14

Connections[] — это все активные соединения сервера. Их может быть несколько, что понятно. На то он и сервер. Допустим их 10. И тут один из клиентов, скажем 5-й, присылает данные. Читать надо данные именно из этого сокета, а не из какого-то определённого. Для этого на него и передаётся в событийную функцию ссылка.



0



1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 14:41

 [ТС]

15

Ага, все понятно. Я читал всегда с 0 соединения что в принципе было правильно, ибо клиент один и доколе соблюдение протокола оказывалось филигранным, так сказать, касаемо двух ПК, к примеру.
Но самопальная программа, которая посылает коннект пару сотен раз и может оказаться на любом Connections[?] имела все это ввиду.
И если я читаю

данные именно из этого сокета, а не из какого-то определённого

, то все в порядке)



0



91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

10.07.2014, 15:09

16

С 0 соединения можно читать, если клиент однозначно один и он регулярно не закрывает подключение. Допустим клиент отправил данные и закрыл подключение, а потом подключился ещё раз, чтобы ещё раз отправить. Так как всё это дело выполняется в некоем потоке, то вполне возможен вариант, что «старый», неиспользуемый уже сокет ещё не удалён из Connections[], ActiveConnections будет равен 2 и очередную порцию данных надо будет читать из Connections[1].



0



Zerorc

1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 15:15

 [ТС]

17

Тогда правильный ли вариант с отправкой этому клиенту сообщения, если он регулярно может сбросить соединение, к примеру, после снова подключиться. Если я все правильно понял..

C++
1
2
3
4
5
void __fastcall TForm1::Button3Click(TObject *Sender)
{
... //проверки есть ли соединение, во избежание вылетов
Form1->ServerSocket1->Socket->Connections[ServerSocket1->Socket->ActiveConnections-1]->SendBuf(buff,100);
}

Я не могу считать событие ибо событие у меня здесь — это нажатие кнопочки. Единственный выход?



0



c0rvax

91 / 91 / 22

Регистрация: 02.07.2013

Сообщений: 332

10.07.2014, 15:36

18

Я бы не так сделал. Во-первых, нет никакой гарантии, что активным является именно последний сокет из всех имеющихся. К тому же, придерживаюсь идеологии, что если сервер что-то отправляет, то надо отправлять всем клиентам. Раз все клиенты подключаются к одному серверу, то каждому надо как-то получать результаты работы других. Тот же чат, например. Один сказал, а всем пришло. Во-вторых, совершенно верно, необходимо убедиться, что подключение активно. Поэтому, чтобы убить всех зайцев, я бы посоветовал такую реализацию

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  for( int i = 0; i < ServerSocket1->Socket->ActiveConnections; i++ )
  {
    TCustomWinSocket* ASocket = ServerSocket1->Socket->Connections[ i ];
    if( ASocket && ASocket->Connected )
    {
      ASocket->SendBuf( buff, 100 );
    }
  }
}



1



1 / 1 / 1

Регистрация: 14.03.2014

Сообщений: 46

10.07.2014, 15:51

 [ТС]

19

Неплохо. Но это тогда выйдет широковещательная посылка. А если, я, к примеру, даю модулю команду отключиться. В принципе, если известен IP, его можно вытащить и по нему выбрать соединение, сравнением, пройтись по всем и отправить нужному.
Но это уже темка для отдельной статьи. С асинхроном разобрался. Спасибо за помощь.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

10.07.2014, 15:51

19

Some Windows users are encountering the 10053 error code while trying to connect their computer with an SMTP mail or when trying to perform a Winsock command. This problem is typically linked to router restrictions, overprotective firewalls or Proxies, and VPNs.

Asynchronous Socket Error 10053

After investigating this particular issue, it turns out that there are several different causes that might be causing this error code. Here’s a shortlist of potential culprits:

  • Connection abort caused by your machine – As it turns out, this problem might occur because there is no space in the socket’s queue, so the socket cannot receive further connection. This type of issue is often related to an active Proxy or VPN network that end up taking up all the precious socket queue. In this case, disabling or uninstalling the Proxy server or VPN client should allow you to fix the issue.
  • Recently aborted connection – Under certain circumstances, this problem can also occur if the local network system aborts a connection after data transmission fails. In this case, the receiver never acknowledges data sent on a data socket. This is typically caused by an overprotective antivirus or firewall.
  • TCP / IP scenario – A troublesome connection can also be responsible for this error code if it timeouts after the local system doesn’t receive an acknowledgment for data sent. If this scenario is applicable, resetting your TCP / IP data should fix the problem and eliminate the error code. If this doesn’t work, you should reboot or reset your router or modem instead.

Method 1: Disabling or Uninstalling Overprotective AV suites (if applicable)

If you’re using a 3rd party suite you’re encountering the 10053 error code when trying to perform a certain action having to do with your email client (like downloading or sending email via VPOP3), chances are this issue is being caused by your antivirus software.

According to some affected users, this problem is often caused by certain versions of McAfee VirusScan and Norton Antivirus – These are just two 3rd party AV that we discovered, but there might be other software causing the same kind of problem.

If this scenario looks like it could be applicable, you should start by disabling the real-time protection and seeing if the error code stops occurring – with most AV suites, you can disable the real-time protection by right-clicking the tray-bar icon and looking for an option that will disable the real-time shields.

Right Click Avast Icon From System Tray To Disable Avast Temporarily

If disabling the real-time protection didn’t end up fixing the issue, follow the instructions below to uninstall the problematic suite from your computer and clear any remnant file to fix the problem:

  1. Open up a Run dialog box by pressing Windows key + R. Next, type ‘appwiz.cpl’ inside the text box and press Enter to open up the Programs and Files menu.
    Type appwiz.cpl and Press Enter To Open Installed Programs Page
  2. Once you’re inside the Programs and Features menu, scroll down through the list of installed programs and locate the problematic Antivirus or Firewall solution that’s causing the conflict.
  3. When you see it, right-click on it and choose Uninstall from the newly appeared context menu to begin the uninstallation process.
    Uninstalling your antivirus
  4. Once the operation is complete, reboot your computer and wait for the next startup to complete.
  5. After your computer boots back up, follow the instructions specific to your Antivirus to remove any remnant files left behind by your 3rd party Antivirus installation.
  6. Once you manage to completely remove your 3rd party security suite from your AV, move down to the next potential fix below.

If the same problem still occurs after uninstalling your 3rd party suite or this method is not applicable, move down to the next potential fix below.

Method 2: Performing a Complete TCP / IP reset

If the 10053 error code occurs right after the TCP / IP connection is aborted by Windows, this is most likely a problem with the data transmission timeout or protocol error. As it turns out, this is most likely caused by a glitch with the network adapter or a classic case of bad DNS range.

According to some affected users, this problem can sometimes be fixed by performing a complete TCP / IP reset on every computer that’s part of the local workshop.

If you’re not sure how to do this, follow the instructions below to perform a complete TCP / IP reset from an elevated Command Prompt:

  1. Open up a Run dialog box by pressing Windows key + R. Next, type ‘cmd’ inside the text box and press Ctrl + Shift + Enter to open up an elevated Command Prompt. When prompted by the UAC (User Account Control), click Yes to grant admin access.
    Running the Command Prompt
  2. Once you’re inside the elevated Command Prompt, type the following commands in order and press Enter after each one to do a complete TCP / IP reset:
    ipconfig /flushdns
    nbtstat -R
    nbtstat -RR
    netsh int reset all
    netsh int ip reset
    netsh winsock reset
  3. After every command is processed successfully, close the elevated Command Prompt and reboot your computer.
  4. Once the next startup is complete, repeat the action that was previously causing the 10053 error code and see if the problem is now fixed.

Method 3: Rebooting or Resetting your router/modem

If the Winsock commands above didn’t fix the problem in your case, you should proceed by excluding your current network from the list of potential culprits.

According to some affected users, this problem is also expected to occur in instances where your ISP (Internet Service Provider) assigns a dynamic IP that conflicts with certain SMTP options.

In case this scenario is applicable, there are 2 ways to fix the problem and avoid getting the 10053 error code:

  • Restarting the network device – This operation will end up refreshing the TCP and IP connection and force your router/modem to assign new information related to your connection.
  • Resetting the network device – This will clear any custom settings your router or modem is currently enforcing and return your network device to its factory settings.

If you’re planning or enforcing this method, our advice to start with a simple restart and move out to the second procedure only if the first sub-guide (A) doesn’t fix the problem:

A. Restarting your router/modem

If you want to fix the problem without resetting any sensitive data that’s currently stored by your router or modem, this is the way to do it.

In order to perform a router reboot (restart), turn your attention to the rear part of your network device and press the On / Off button to power off the device. After you do this, also disconnect the power cable from the power outlet it’s currently connected to and wait for a full minute in order to ensure that the power capacitors are completely drained.

Rebooting Router

After you manage to restart your router, make sure to disconnect the power cable and wait for a full minute to ensure that the power capacitors are completely drained before restoring power.

Once the period is passed, re-connect the power cable and wait until the Internet access is re-established before repeating the action that was causing the error code before.

If the same problem is still occurring, move down to the next potential fix below.

B. Resetting your router/modem

If the first method didn’t work in your case, chances are you’re dealing with a more serious inconsistency that is rooted inside the settings menu of your router or modem.

In this case, you should reset your router or modem to its factory state, restore internet access, and see if this operation ends up fixing the 10053 error.

Important: Before you enforce this operation, keep in mind that it will end up clearing any settings that you have previously established for your router. This will include any saved PPPoE credentials, whitelisted or blocked posts, and forwarded TCP / IP data.

To initiate a router or modem reset, look for the reset button (typically located on the back of your router). When you manage to locate it, press the Reset button and keep it presses for 10 seconds or until you notice all the device LEDs flashing at the same time.

Resetting Router

Note: With most router models, you will need a sharp object in order to be able to press and hold on the Reset button.

After the reset procedure is complete, wait until the Internet access is re-established, then see if the 10053 error code is now fixed. Keep in mind that if your ISP is using PPPoE, you will need to re-insert the correct credentials before Internet access is restored.

If this scenario was not applicable or you already tried this with no success, move down to the next potential fix below.

Method 4: Disable Proxy or VPN connection (if applicable)

If none of the methods above have fixed the issue in your case and you’re using a VPN client or a Proxy server to hide the origin of your connection, this is most likely the source of the 10053 error.

We managed to find a lot of user reports claiming this particular error was caused either by a VPN client or a proxy server that was enforced at a system level.

Depending on the anonymity solution that you’re using, you should be able to fix the problem either by disabling the proxy server or by uninstalling the system level VPN altogether.

We’ve covered both potential scenarios, so feel free to follow one of the sub-guides below to either disable the system-level proxy server or uninstall the VPN client:

A. Uninstalling System-level VPN

  1. Press Windows key + R to open up a Run dialog box. Once you’re inside, type ‘appwiz.cpl’ inside the text box and press Enter to open up the Programs and Features menu. When you are prompted by the UAC (User Account Control), click Yes to grant admin access.
    Type appwiz.cpl and Press Enter To Open Installed Programs Page
  2. Once you’re inside the Programs and Features screen, find the VPN client among the list of installed applications. When you find it, right-click on it and choose Uninstall from the newly appeared context menu.Uninstalling a VPN tool
    Uninstalling a VPN tool
  3. From the insides of the installation screen, follow the on-screen prompts to complete the installation process, then reboot your computer once the operation is complete and see if the issue is fixed once the next startup is complete.

B. Disabling the Proxy Server

  1. Open up a Run dialog box by pressing Windows key + R. Inside the text box, type ‘inetcpl.cpl’ and press Enter to pen up the Internet Properties tab. When you’re prompted by the UAC (User Account Control), click Yes to grant admin access.Run dialog: inetcpl.cpl
    Run dialog: inetcpl.cpl
  2. Once you’re inside the Internet Properties screen, go over the Connection tab from the horizontal menu on the top of the screen, then click on LAN Settings (right under Local Area Network LAN settings).
    Open LAN settings in Internet Options
  3.  Once you’re inside the Local Area Network (LAN) settings, access the Proxy server category and uncheck the box associated with Use a proxy server for your LAN.
    Disabling the Proxy server
  4. After you have successfully disabled the Proxy server, reboot your computer and see if the problem is fixed once the next startup is complete.

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    Соблюдайте общие правила форума

    Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
    Указывайте точные версии Delphi и используемых сетевых библиотек.

    Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.


    Внимание:
    попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
    Повторная попытка — 60 дней. Последующие попытки бан.
    Мат в разделе — бан на три месяца…


    Полезные ссылки:
    user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


    Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

    >
    Asynchronous socket error 10053
    , Что за ошыбка?

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    09.11.06, 18:53

      Junior

      *

      Рейтинг (т): нет

      Привет всем программистам!

      Asynchronous socket error 10053

      Что это за ошибка?
      Как её избегать?

      Возникает эта ошыбка при простое соединения клинта с сервером.

      Сервер у меня в режиме stNonBlocking.

      Заранее благодарен!

      С уважением Алексей Чернов.


      Oleg2004



      Сообщ.
      #2

      ,
      09.11.06, 20:32

        Вариантов нексколько:

        Цитата

        WSAECONNABORTED (10053) Software caused connection abort.
        Berkeley description: A connection abort was caused internal to your host machine. The software caused a connection abort because there is no space on the socket’s queue and the socket cannot receive further connections.
        WinSock description: Partly the same as Berkeley. The error can occur when the local network system aborts a connection. This would occur if WinSock aborts an established connection after data retransmission fails (receiver never acknowledges data sent on a datastream socket).
        TCP/IP scenario: A connection will timeout if the local system doesn’t receive an (ACK)nowledgement for data sent. It would also timeout if a (FIN)ish TCP packet is not ACK’d (and even if the FIN is ACK’d, it will eventually timeout if a FIN is not returned).
        User suggestions: There are a number of things to check, that might help to identify why the failure occurred. Basically, you want to identify where the problem occurred.
        · Ping the remote host you were connected to. If it doesn’t respond, it might be off-line or there may be a network problem along the way. If it does respond, then this problem might have been a transient one (so you can reconnect now), or the server application you were connected to might have terminated (so you might not be able to connect again).
        · Ping a local host to verify that your local network is still functioning (if on a serial connection, see next step)
        · Ping your local router address. If you’re on a serial connection, your local router is the IP address of the host you initially logged onto with SLIP or PPP.
        · Ping a host on the same subnet as the host you were connected to (if you know one). This will verify that the destination network is functioning.
        · Try a «traceroute» to the host you were connected to. This won’t reveal too much unless you know the router addresses at the remote end, but it might help to identify if the problem is somewhere along the way.
        WinSock functions: recv(), recvfrom(), sendto(), FD_CLOSE
        Additional functions: send() can also fail with WSAECONNABORTED. Any function that takes a socket as an input parameter—except close socket()—could potentially fail with this error.

        А вкратце — WSAECONNABORTED Подключение было разорвано из-за таймаута или другого отказа. Те что-то произошло на «той» стороне или по дороге к той стороне, и она не в состоянии или не «захотела» продолжать обмен.


        Alexey_Chernov



        Сообщ.
        #3

        ,
        10.11.06, 11:31

          Junior

          *

          Рейтинг (т): нет

          Скорее всего, тут ошыбка через истечение таймаута.

          Когда соединение произошло и ничего ни делается то всё нормально.
          А вот, когда Сервер отправляет какие нить данные, и по истечении таймаута (сколько сек — не проверял) — выскакивает эта чёртовая ошыбка.

          Знаешь Oleg2004, я думал сделать на Клиенте таймер, который каждые, например, 15 сек отправлял один байт для подержания связи с Сервером.

          Заране спасибо!

          С уважением, Алексей Чернов!


          medved_68



          Сообщ.
          #4

          ,
          10.11.06, 13:01

            Цитата Alexey_Chernov @ 10.11.06, 11:31

            А вот, когда Сервер отправляет какие нить данные, и по истечении таймаута (сколько сек — не проверял) — выскакивает эта чёртовая ошыбка.

            Alexey_Chernov О чем ты говоришь??? И при чем здесь таймауты??? И что такое вообще в твоем понимании таймаут??? Если соединение установлено, то при посылке что сервером, что клиентом данных они уйдут в канал и все. Если же соединения нет, то первая же попытка что либо записать или считать в/из сокета даст тебе ошибку, что ты и наблюдаешь. :rolleyes:

            Цитата Alexey_Chernov @ 10.11.06, 11:31

            Когда соединение произошло и ничего ни делается то всё нормально.

            Показывай как ты проверяешь, что соединение установлено, лично у меня большие сомнения, что соединение на момент передачи действительно установлено! :rolleyes:

            Цитата Alexey_Chernov @ 10.11.06, 11:31

            Знаешь Oleg2004, я думал сделать на Клиенте таймер, который каждые, например, 15 сек отправлял один байт для подержания связи с Сервером.

            А зачем??? Если ты сам компонуешь клиент-серверное приложение, то ты и решай как и сколько удерживать соединение. Другое дело если тебе необходимо прицепиться к готовому серверу, тут уж надо выяснить как он работает в конкретно твоем случае. :)


            Oleg2004



            Сообщ.
            #5

            ,
            10.11.06, 13:37

              Нда, тут много непоняток :D

              Цитата Alexey_Chernov @ 09.11.06, 18:53

              Возникает эта ошыбка при простое соединения клинта с сервером.

              Что вы называете — простоем соединения?
              Если соединение установлено, то простоем надо считать полное отсутствие взаимодействия клиент/сервер — те ничего не посылается и ничего не принимается.
              В этом — крайнем — случае — у модуля TCP клиента или сервера «нервы не выдерживают» и через 120 мин =2 часа он самостоятельно разрывает соединение — это юниксовая идеология, думаю что 2 часа и в виндовс тоже.
              Второе:

              Цитата Alexey_Chernov @ 10.11.06, 11:31

              А вот, когда Сервер отправляет какие нить данные, и по истечении таймаута (сколько сек — не проверял) — выскакивает эта чёртовая ошыбка.

              Если сервер отправляет данные, то у него таймаута нет (это по сути выполнения функции send)
              Поэтому на сервере такой ошибки быть не может, если он доходит до send()
              Значит, ошибка возникает на клиенте?
              Клиент работает с recv() и у recv() своего таймаута нет — если не делать его с помощью select() или еще как.
              Поэтому please поточнее по поводу ошибок вплоть до минут!

              Цитата Alexey_Chernov @ 10.11.06, 11:31

              Знаешь Oleg2004, я думал сделать на Клиенте таймер, который каждые, например, 15 сек отправлял один байт для подержания связи с Сервером.

              Такой таймер в модуле TCP уже есть — его надо только инициировать.
              Функция setsockopt() + SO_KEEPALIVE(уровень сокетов) + TCP_KEEPALIVE(уровень TCP)

              Сообщение отредактировано: Oleg2004 — 10.11.06, 13:39

              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

              0 пользователей:

              • Предыдущая тема
              • Delphi: Сетевое программирование
              • Следующая тема

              Рейтинг@Mail.ru

              [ Script execution time: 0,0298 ]   [ 16 queries used ]   [ Generated: 9.02.23, 06:55 GMT ]  

              Некоторые пользователи Windows сталкиваются с кодом ошибки 10053 при попытке подключить свой компьютер с помощью почты SMTP или при попытке выполнить команду Winsock. Эта проблема обычно связана с ограничениями маршрутизатора, чрезмерно защищающими брандмауэрами или прокси-серверами и VPN.

              После изучения этой конкретной проблемы выяснилось, что существует несколько различных причин, которые могут вызывать этот код ошибки. Вот краткий список потенциальных виновников:

              Метод 1. Отключение или удаление избыточных антивирусных программ (если применимо)

              Если вы используете сторонний пакет, вы сталкиваетесь с кодом ошибки 10053 при попытке выполнить определенное действие, связанное с вашим почтовым клиентом (например, загрузка или отправка электронной почты через VPOP3), скорее всего, эта проблема вызвана вашим программа-антивирус.

              По словам некоторых затронутых пользователей, эта проблема часто вызвана определенными версиями McAfee VirusScan и Norton Antivirus – это всего лишь две сторонние антивирусные программы, которые мы обнаружили, но может быть и другое программное обеспечение, вызывающее такую ​​же проблему.

              Если этот сценарий выглядит так, как будто он может быть применим, вы должны начать с отключения защиты в реальном времени и посмотреть, перестает ли возникать код ошибки – в большинстве пакетов AV вы можете отключить защиту в режиме реального времени, щелкнув правой кнопкой мыши панель в трее. значок и ищет параметр, который отключит экраны в реальном времени.

              Щелкните правой кнопкой мыши значок Avast на панели задач, чтобы временно отключить Avast

              Если отключение защиты в реальном времени не привело к устранению проблемы, следуйте приведенным ниже инструкциям, чтобы удалить проблемный пакет со своего компьютера и удалить все остаточные файлы, чтобы устранить проблему:

              Если та же проблема все еще возникает после удаления вашего стороннего пакета или этот метод не применим, перейдите к следующему потенциальному исправлению ниже.

              Метод 2: Выполнение полного сброса TCP / IP

              Если код ошибки 10053 возникает сразу после разрыва соединения TCP / IP в Windows, скорее всего, это проблема с тайм-аутом передачи данных или ошибкой протокола. Как выясняется, это, скорее всего, вызвано сбоями в работе сетевого адаптера или классическим случаем неправильного диапазона DNS.

              По словам некоторых затронутых пользователей, эту проблему иногда можно решить, выполнив полный сброс TCP / IP на каждом компьютере, входящем в состав локальной мастерской.

              Если вы не знаете, как это сделать, следуйте приведенным ниже инструкциям, чтобы выполнить полный сброс TCP / IP из командной строки с повышенными привилегиями:

              Метод 3: перезагрузка или сброс маршрутизатора / модема

              Если приведенные выше команды Winsock не устранили проблему в вашем случае, вам следует продолжить, исключив текущую сеть из списка потенциальных виновников.

              По мнению некоторых затронутых пользователей, эта проблема также может возникать в тех случаях, когда ваш интернет-провайдер назначает динамический IP-адрес, который конфликтует с определенными параметрами SMTP.

              В случае, если этот сценарий применим, есть два способа решить проблему и избежать получения кода ошибки 10053:

              Если вы планируете или применяете этот метод, мы советуем начать с простого перезапуска и переходить ко второй процедуре только в том случае, если первое вспомогательное руководство (A) не решает проблему:

              A. Перезагрузка роутера / модема

              Если вы хотите решить проблему без сброса каких-либо конфиденциальных данных, которые в настоящее время хранятся на вашем маршрутизаторе или модеме, это способ сделать это.

              Чтобы выполнить перезагрузку (перезагрузку) маршрутизатора, обратите внимание на заднюю часть сетевого устройства и нажмите кнопку включения / выключения, чтобы выключить устройство. После этого также отсоедините кабель питания от розетки, к которой он в данный момент подключен, и подождите целую минуту, чтобы убедиться, что силовые конденсаторы полностью разряжены.

              Перезагрузка роутера

              После того, как вам удастся перезапустить маршрутизатор, обязательно отключите кабель питания и подождите целую минуту, чтобы убедиться, что силовые конденсаторы полностью разряжены, прежде чем возобновлять питание.

              По истечении этого периода повторно подключите кабель питания и дождитесь восстановления доступа к Интернету, прежде чем повторять действие, которое ранее вызывало код ошибки.

              Если та же проблема все еще возникает, перейдите к следующему потенциальному исправлению ниже.

              Б. Сброс маршрутизатора / модема

              Если в вашем случае первый метод не сработал, скорее всего, вы имеете дело с более серьезным несоответствием, которое коренится в меню настроек вашего маршрутизатора или модема.

              В этом случае вам следует сбросить маршрутизатор или модем до заводского состояния, восстановить доступ в Интернет и посмотреть, закончится ли эта операция исправлением ошибки 10053.

              Важно: прежде чем принудительно выполнить эту операцию, имейте в виду, что в конечном итоге будут удалены все настройки, которые вы ранее установили для своего маршрутизатора. Это будет включать любые сохраненные учетные данные PPPoE, внесенные в белый список или заблокированные сообщения и перенаправленные данные TCP / IP.

              Чтобы инициировать сброс маршрутизатора или модема, найдите кнопку сброса (обычно она находится на задней панели маршрутизатора). Когда вам удастся найти его, нажмите кнопку сброса и удерживайте ее нажатой в течение 10 секунд или пока не заметите, что все светодиоды устройства мигают одновременно.

              Сброс маршрутизатора

              Примечание. Для большинства моделей маршрутизаторов вам понадобится острый предмет, чтобы можно было нажать и удерживать кнопку сброса.

              После завершения процедуры сброса дождитесь восстановления доступа к Интернету, затем посмотрите, исправлен ли теперь код ошибки 10053. Имейте в виду, что если ваш интернет-провайдер использует PPPoE, вам нужно будет повторно вставить правильные учетные данные, прежде чем доступ в Интернет будет восстановлен.

              Если этот сценарий неприменим или вы уже пробовали это безуспешно, перейдите к следующему потенциальному исправлению ниже.

              Метод 4: отключите прокси или VPN-соединение (если применимо)

              Если ни один из вышеперечисленных методов не устранил проблему в вашем случае, и вы используете VPN-клиент или прокси-сервер, чтобы скрыть происхождение вашего подключения, это, скорее всего, является источником ошибки 10053.

              Нам удалось найти множество пользовательских отчетов, в которых утверждалось, что эта конкретная ошибка была вызвана либо клиентом VPN, либо прокси-сервером, который был принудительно применен на системном уровне.

              В зависимости от используемого вами решения по обеспечению анонимности вы сможете решить проблему, отключив прокси-сервер или полностью удалив VPN на системном уровне.

              Мы рассмотрели оба возможных сценария, поэтому не стесняйтесь следовать одному из нижеприведенных руководств, чтобы отключить прокси-сервер системного уровня или удалить VPN-клиент:

              A. Удаление VPN на уровне системы

              Б. Отключение прокси-сервера

              10061 подключение не установлено

              Как устраняется проблема

              Запустить (стартовать) службу Агента сервера 1С:Предприятие.

              После установки какого-либо софта, при входе в агент сервера 1С или запуске игры у любого пользователя может выскочить ошибка “Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение”. Эта проблема проявляется и при работе в какой-нибудь программе – она при этом попросту закроется, и вылезет окошко с вышеуказанным сообщением. Сегодня мы разберем существующие методы решения этой ошибки.

              Что вызывает ошибку «подключение не установлено, т. к. конечный компьютер отверг запрос на подключение»

              Скачок напряжения и потеря связи с серверами

              К счастью, справиться с этим довольно просто.

              Все, можно заново устанавливать соединение с сервером. Этот способ можно применить и в тех случаях, когда возникает ошибка с кодом 0000000002, т. к. в результате какого-либо сбоя любая служба может быть остановлена.

              Проблема возникает в торренте

              Брандмауэр или антивирус не разрешают соединение

              Если антивирус или брандмауэр “ругаются” и не дают подключиться к серверу, то для исправления ошибки есть два варианта.

              Отключить и один, и другой Это допустимо только в том случае, если мы уверены, что во время бездействия “защитников” не поймаем какой-нибудь вредоносный код
              Добавьте проблемный порт в список исключений брандмауэра Он пропустит сетевой трафик по указанному порту, и работа будет налажена.

              Одно из популярных мест, где возникает данная ошибка – софт 1С. Проблема в том, что агент сервера 1С и все процессы запущены, но тут появляется ошибка и сообщение о том, что “Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение”. Решаем мы данную проблему тем, что добавляем порт 10061 в исключения брандмауэра и снова устанавливаем соединение с сервером.

              Добавляем отмеченный порт 10061 в исключения брандмауэра

              Важно: всегда используем только самую свежую версию 1С. Читаем о том, где получить обновления, в статье об ошибке под номером 0400300003.

              Решение проблем с частной локальной сетью

              Вызываем реестр через строку “Выполнить”

              Редактируем записи реестра

              Там же мы обязательно выставляем настройки брандмауэра (FirewallRules).

              Другие причины появления ошибки

              Многие пользователи пытаются при возникновении проблемы сразу снести установленную операционную систему, но этого делать не нужно.

              По крайней мере, пока мы не убедились, что проблема не с нашим устройством, а на сторонних ресурсах:

              Мы постарались разобраться в способах исправления ошибки “Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение”. Если у вас есть другие реальные способы решения этой проблемы, описывайте их в комментариях.

              Бывает, однажды, ни с того и с чего программа 1С нам выдает: Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс. Соединение с базой невозможно.

              Несколько вариантов поиска ошибок и решений:

              1. Глюк сервака — всякое бывает

              Остановите в диспетчере задач процессы: ragent rphost rmngr и Запустите службу «Агент сервера 1С:Предприятие»

              2. При внезапном отключения питания или аналогичных ситуациях — повредился файл srvribrg. lst

              Нужно удалить все из папки srvinfo

              Запустите службу «Агент сервера 1С:Предприятие».

              Через Администрирование серверов 1С Предприятия по новой создать кластер 1С и добавить информационные базы

              3. Переименовали сервер на котором служба агента 1С

              После переименования сервера Windows Server 2008 с установленным 1С:Предприятие 8.2, перестала работать служба «Агент сервера 1С:Предприятие 8.2». Она запускается, работает несколько секунд и останавливается. Если подключаться к серверу 1С:Предприятие 8.2 через консоль серверов, то возникает ошибка:

              Ошибка соединения с сервером 1С:Предприятие 8.2 server_addr=tcp://SERVER:1540 descr=Ошибка сетевого доступа к серверу (Windows Sockets — 10061(0x0000274D). Подключение не установлено, т. к. конечный компьютер отверг запрос на соединение.) line=590 file=.SrcDataExchangeTcpClientItmpl. cpp

              При подключении к базе на этом сервере имеем следующую ошибку:

              Не запущен ни один рабочий процесс. Соединение с базой невозможно.

              При подключении оборудования произошла ошибка 999 в Атол

              Ошибка в Атол

              В конце рабочего дня кассиры вынуждены закрывать отчёты на своих рабочих местах. Но по непонятным причинам возникает сбой, и появляется сообщение «При подключении оборудования произошла ошибка» (999) в Атол. Что это значит и как решить эту проблему — читайте в этой статье далее.

              Ошибка 999 в Атол – каковы причины?

              Тестирование 1С платформы при подключении оборудования

              Для этого перейдите в настройки РМК:

              Такая рекомендация может помочь в случае сбоев программы. Модуль пытается отыскать неверный код и исправить его. Попробуйте выйти из тестирования и попытаться подключиться к кассе.

              Проверка драйвера

              Выполните следующие действия:

              Когда драйвер будет установлен, следует снова вернуться в это окно, чтобы убедиться, что всё в порядке. Это нужно сделать обязательно, так как если вы сами установили драйвер, который нашли в сети, он может не подойти к версии ОС или её разрядности.

              Рассмотрим способ настройки драйвера Атол, когда появляется сбой 999. Для этого нужно нажать на кнопку « Пуск » в Windows.

              После этого открываем 1С предприятие и открываем смену. Если такой способ не помог решить ошибку при подключении оборудования 999 в Атол, попробуйте следующую инструкцию.

              Изменение протокола и канала устройства Атол

              В зависимости от модели устройства Атол, его настройки могут отличаться.

              Таким образом, вы сможете выбрать для кассового аппарата Атол необходимый канал и протокол обмена. Попробуйте изменить их, если появляется ошибка подключения оборудования 999 в кассовом устройстве Атол. В противном случае, при неудачно подключении, попытайтесь обратиться в техническую поддержку или к системному администратору.

              Источники:

              https://ddok. ru/kak-ispravit-oshibku-asinhronnogo-soketa-10053-v-operacionnoj-sisteme-windows/

              https://window-10.ru/10061-podkljuchenie-ne-ustanovleno/

              https://rusadmin. biz/bloknot/pri-podklyuchenii-oborudovaniya-proizoshla-oshibka-999-v-atol/

               
              {bas}
               
              (2002-09-04 16:48)
              [0]

              Привет! Начал делать, что-то вроде простого прокси и возникает такая ошибка. Кто-то может сказать с чем она связана и как лечится. Делаю я так: есть Серверсокет и клиент сокет.

              При ображение к сокету сервера я пишу так

              procedure TForm1.ss_MainClientRead(Sender: TObject;

              Socket: TCustomWinSocket);

              var

              rt : string;

              begin

              rt := Socket.ReceiveText;

              Memo1.Lines.Add(rt);

              cs_Main.Socket.SendText(rt);

              end;

              При ображение к сокету клиента я пишу так

              procedure TForm1.cs_MainRead(Sender: TObject; Socket: TCustomWinSocket);

              var

              i, size : integer;

              rt : string;

              buffer : PByteArray;

              begin

              size := 10024*64;

              try

              GetMem(buffer, size);

              size := Socket.ReceiveBuf(buffer^, size);

              for i:=0 to ss_Main.Socket.ActiveConnections-1 do

              begin

              ss_Main.Socket.Connections[i].SendBuf(buffer^, size);

              // вот здесь возникает ошибка

              end;

              finally

              FreeMem(buffer);

              end;

              end;

              Причем ошибка возникает не всегда(но переодично), а после нескольких вызовов cs_MainRead( т.е. onClientSocketRead). И возникает еще одна ошибка(то же не всегда, но переодично) Windows Socket error: (10054), on API «send»

              В чем дело или что я делаю не правильно??

              P.S. Клиентом я вляется IExplorer


               
              VID
               
              (2002-09-08 22:44)
              [1]

              Что ты делаешь с помощью этого IE ? какой пакет отсылаешь ?

              Думаю имеет смысл, сделать такую проверку:

              for i:=0 to ss_Main.Socket.ActiveConnections-1 do

              IF ss_Main.Socket.Connections[i]<>nil then

              ss_Main.Socket.Connections[i].SendBuf(buffer^, size);

              Проверь этот вариант.


               
              {bas}
               
              (2002-09-10 20:37)
              [2]

              Извиняюсь, что долго не отвечал, но это не помогает

              все равно выдает те же ошибки


               
              {bas}
               
              (2002-09-11 15:29)
              [3]

              помогитееееееееееееееееее


               
              cyborg
               
              (2002-09-12 13:10)
              [4]

              size := 10024*64;

              ??? 626,5 килобайт

              исправь на 1024

              Возможно буфер отсылки переполняется, вот и вылязят ошибки, хотя что за ошибка я незнаю.

              FreeMem(buffer);

              Думаю лучше так: FreeMem(buffer,size);


               
              cyborg
               
              (2002-09-12 13:12)
              [5]

              Да, а что у тебя в буфере-то? Мусор отправляешь?


               
              VID
               
              (2002-09-12 19:44)
              [6]

              TO {bas}:

              Или может так:

              Size := Socket.ReceivedLength;

              + мой первый совет.


               
              {bas}
               
              (2002-09-13 13:26)
              [7]

              to VID

              Сделал как написано все равно то-же самое

              непойму в чем дело????


               
              VID
               
              (2002-09-13 20:54)
              [8]

              1. Какая ошибка возникает после ss_Main.Socket.Connections[i].SendBuf(buffer^, size) ?

              2. Когда возникают ошибки: в ситуации когда клиент — IE, или когда клиент — твоё клиентское приложение ?

              3. Строку size := Socket.ReceiveBuf(buffer^, size); замени на size := Socket.ReceiveLenght;

              4. Строку size := 10024*64; удали вообще

              5. Если клиент <> IE, то что ты вообще отсылаешь с помощью клиента ? Кучу пакетов ?


               
              {bas}
               
              (2002-09-16 15:24)
              [9]

              to VID

              1. Asynchronous socket error 10053

              2. Сейчас клиент только IE

              3. заменил

              4. убрал

              5. см. п.2

              если не в сложно посмотреть я м.б. прислать исходники??


               
              REA
               
              (2002-09-16 17:39)
              [10]

              Родные компоненты Delphi глючные — я нашел в свое время 3-5 ошибок, некоторые из которых даже объяснимы и легко воспроизводимы. Смотреть по коду как я это обходил — лениво.


               
              {bas}
               
              (2002-09-16 18:34)
              [11]

              to REA

              скинь тогда я посмотрю


               
              VID
               
              (2002-09-16 19:20)
              [12]

              to {bas}: замени TByteArray на PChar+предыдущие пункт (3) и (4);


               
              cyborg
               
              (2002-09-17 10:36)
              [13]

              REA предлагаю всётаки указывать версию Дельфи, когда говорите о глюках!



              Форум программистов Vingrad

              Поиск:

              Ответ в темуСоздание новой темы
              Создание опроса
              > TClientSocket, автоподключение 

              :(

                 

              Опции темы

              Гость_Игорь
              Дата 11.10.2005, 11:34 (ссылка)
                 |    (голосов: 0)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Unregistered

              Использую компонент TClientSocket для опроса контроллера по сети
              При разрыве связи прога выдает сообщение
              «Asynchronous socket error 10053».
              Вопрос в следующем:
              1. Как заставить прогу не выдавать это окно.
              2. Каким образом организовать автоконнект при отсутствии связи.

              Пробовал различные варианты с
              Socket->Active = true
              но ничего не получилось.
              В Buildere не силен, а в сях заморишся нужное окно писать.
              Спасибо

                Вверх
              _hunter
              Дата 11.10.2005, 12:25 (ссылка)
              | (нет голосов)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Эксперт
              ****

              Профиль
              Группа: Участник Клуба
              Сообщений: 8564
              Регистрация: 24.6.2003
              Где: Europe::Ukraine:: Kiev

              Репутация: 24
              Всего: 98

              http://forum.vingrad.ru/index.php?showtopic=58171
              http://forum.vingrad.ru/index.php?showtopic=58209
              http://forum.vingrad.ru/index.php?showtopic=58521

              ———————

              Tempora mutantur, et nos mutamur in illis…

              PM ICQ   Вверх
              Гость_Игорь
              Дата 11.10.2005, 14:15 (ссылка)
                 |    (голосов: 0)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Unregistered

              1 ссылка) толковая, но самый интересный для меня вопрос без ответа
              2 ссылка) не могу понять куда и чего вдолбить чтобы убрать ошибку

              client.cpp

              #include <vcl.h>
              #pragma hdrstop
              //—————————————————————————
              USEFORM(«Unit1.cpp», Form1);
              //—————————————————————————
              WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
              {
              try
              {
              Application->Initialize();
              Application->CreateForm(__classid(TForm1), &Form1);
              Application->Run();
              }
              catch (Exception &exception)
              {
              Application->ShowException(&exception);
              }
              catch (…)
              {
              try
              {
              throw Exception(«»);
              }
              catch (Exception &exception)
              {
              Application->ShowException(&exception);
              }
              }
              return 0;
              }

              на всякий случай код unit.cpp

              #include <vcl.h>
              #include <dos.h>
              #pragma hdrstop

              #include «Unit1.h»
              //—————————————————————————
              #pragma package(smart_init)
              #pragma resource «*.dfm»
              TForm1 *Form1;
              //—————————————————————————
              __fastcall TForm1::TForm1(TComponent* Owner)
              : TForm(Owner)
              {
              MemoIn->Items->Clear();
              MemoOnOff->Lines->Clear();

              MySocket->Active = true;

              }
              //—————————————————————————

              void __fastcall TForm1::MySocketRead(TObject *Sender,
              TCustomWinSocket *Socket)
              {
              MemoIn->Items->Add(Socket->ReceiveText());
              }
              //—————————————————————————

              void __fastcall TForm1::MySocketError(TObject *Sender,
              TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
              {
              MemoOnOff->Lines->Clear();
              MemoOnOff->Lines->Add(«Ñáîé ñîåäèíåíèÿ»);
              // MySocket->Active = true;
              }
              //—————————————————————————

              void __fastcall TForm1::MySocketConnecting(TObject *Sender,
              TCustomWinSocket *Socket)
              {
              MemoOnOff->Lines->Clear();
              MemoOnOff->Lines->Add(«Ñîåäèíåíèå óñòàíîâëåíî»);
              }

              3 ссылка) немного юмора для поднятия настроения

                Вверх
              _hunter
              Дата 11.10.2005, 14:35 (ссылка)
              | (нет голосов)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Эксперт
              ****

              Профиль
              Группа: Участник Клуба
              Сообщений: 8564
              Регистрация: 24.6.2003
              Где: Europe::Ukraine:: Kiev

              Репутация: 24
              Всего: 98

              реакция на ошибку у тебя есть, значит осталось MySocket->Active = true; ( из __fastcall TForm1::TForm1(TComponent* Owner) ) в обработчик засунуть:
              __fastcall TForm1::TForm1(TComponent* Owner)
              : TForm(Owner)
              {
              MemoIn->Items->Clear();
              MemoOnOff->Lines->Clear();
              try
              {
              MySocket->Active = true;
              }
              catch(…)
              {
              }
              }
              и все…

              ———————

              Tempora mutantur, et nos mutamur in illis…

              PM ICQ   Вверх
              Гость_Игорь
              Дата 11.10.2005, 17:36 (ссылка)
                 |    (голосов: 0)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Unregistered

              Может еще что-то надо изменить?
              ошибка выскакивает, после подключения сокет не востанавливается

                Вверх
              _hunter
              Дата 11.10.2005, 17:58 (ссылка)
              | (нет голосов)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Эксперт
              ****

              Профиль
              Группа: Участник Клуба
              Сообщений: 8564
              Регистрация: 24.6.2003
              Где: Europe::Ukraine:: Kiev

              Репутация: 24
              Всего: 98

              выскакивает в билдере? тогда отключи останов на делфийских исключениях: Tolls->Debugger Options->Language Exceptions->Stop on Delphi Exceptions
              а насчет востановления — скорее всего сокет пересоздать нужно будет… но не уверен

              ———————

              Tempora mutantur, et nos mutamur in illis…

              PM ICQ   Вверх
              Гость_Игорь
              Дата 12.10.2005, 09:33 (ссылка)
                 |    (голосов: 0)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Unregistered

              Ошибка выскакивает и в билдере и в готовом ехе
              сделал следующее

              void __fastcall TForm1::MySocketError(TObject *Sender,
              TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
              {
              [b]MySocket->Active = false;[/b]
              MemoOnOff->Lines->Clear();
              MemoOnOff->Lines->Add(«Сбой подключения»);
              }

              повесил кнопку с MySocket->Active = true;

              теперь после сообщения об ошибке нажав кнопку сокет востанавливается
              можно ли в билдере сделать цикл или еще что-то типа:

              1 создавать сокет до тех пор пока !ок
              2 в случае сокетерор переход на 1

              и как заставить не появлятся сообщение об ошибке «Asynchronous socket error 10053» или ему подобные(если неудача при попытке создания сокета цифры другие) smile
              ведь в этом случае выполнение кода приостанавливается пока не нажмешь ок на «Asynchronous socket error 10053».
              для меня это принципиальная задача, события с контроллера будут писатся в лог, в случае допустим «рестарт свитч», учета событий не будет пока кто-то не закроет сообщение об ошибке и нажмет «подключиться».
              Странно. Я думал есть готовое решение, ведь такая задача может появится довольно часто.
              Или надо использовать какие-то другие компоненты и функции билдера?
              smile построение в билдере отличается от просто с++ в принципе

                Вверх
              Artemon
              Дата 12.10.2005, 10:03 (ссылка)
              | (нет голосов)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              а ты мне нравишься
              ***

              Профиль
              Группа: Завсегдатай
              Сообщений: 1771
              Регистрация: 24.2.2004
              Где: Челябинск

              Репутация: 7
              Всего: 20

              В OnError сокета, устанавливай ErrorCode в NULL.
              И тогда все случившееся ошибки будут игнорироваться, но не забывай также try и catch.

              ———————

              Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru

              PM MAIL   Вверх
              Гость_Игорь
              Дата 12.10.2005, 14:41 (ссылка)
                 |    (голосов: 0)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Unregistered

              спасибо hunter’у, Artemon’у и Бегемоту из поста
              http://forum.vingrad.ru/index.php?showtopic=56125
              (сам бы не додумался организовать цикл при помощи таймера)
              Все работает как надо smile
              1 создавать сокет до тех пор пока !ок
              2 в случае сокетерор переход на 1

              НИКАКИХ сообщений об ошибке сокета больше не вылетает

              даю код, мож кому пригодится

              //—————————————————————————

              #include <vcl.h>
              #include <dos.h>
              #pragma hdrstop

              #include «Unit1.h»
              //—————————————————————————
              #pragma package(smart_init)
              #pragma resource «*.dfm»
              TForm1 *Form1;
              //—————————————————————————
              __fastcall TForm1::TForm1(TComponent* Owner)
              : TForm(Owner)
              {
              MemoOnOff->Lines->Clear();
              try
              {
              MySocket->Active = true;
              }
              catch(…)
              {
              }

              }
              //—————————————————————————

              void __fastcall TForm1::MySocketRead(TObject *Sender,
              TCustomWinSocket *Socket)
              {
              MemoIn->Items->Add(Socket->ReceiveText());
              }
              //—————————————————————————

              void __fastcall TForm1::MySocketError(TObject *Sender,
              TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
              {
              ErrorCode = NULL; //одна строка и в случае ошибок сокета никаких прерываний в работе!
              MySocket->Active = false; //без этой строки сокет не востановишь
              MemoOnOff->Lines->Clear();
              MemoOnOff->Lines->Add(«Ñáîé ñîåäèíåíèÿ»);
              MemoIn->Items->Add(«Ñáîé ñîåäèíåíèÿ»);
              Timer1->Enabled=true; //запускаем цикл автоподключений
              }
              //—————————————————————————

              void __fastcall TForm1::MySocketConnecting(TObject *Sender,
              TCustomWinSocket *Socket)
              {
              MemoOnOff->Lines->Clear();
              MemoOnOff->Lines->Add(«Ñîåäèíåíèå óñòàíîâëåíî»);
              }
              //—————————————————————————

              void __fastcall TForm1::Timer1Timer(TObject *Sender)
              //в свойстве интервал не забудте выставить время.
              {
              MySocket->Active = true;
              Timer1->Enabled = false;
              }

              //—————————————————————————

                Вверх
              Dubinsky
              Дата 1.11.2005, 15:50 (ссылка)
              | (нет голосов)
              Загрузка ... Загрузка …




              Быстрая цитата

              Цитата

              Опытный
              **

              Профиль
              Группа: Участник
              Сообщений: 252
              Регистрация: 1.6.2005

              Репутация: нет
              Всего: нет

              ErrorCode как советует сам билдер надо не в НУЛЛ ставить а в 0 , ну и вообще надо смотреть что за код ошибки ! там не только отсутствие связи , но и ещё куча …на них то наверняка надо как то по другому реагировать …

              PM MAIL WWW   Вверх



















              Ответ в темуСоздание новой темы
              Создание опроса
              Правила форума «С++ Builder»
              Rrader

              Запрещается!

              1. Публиковать ссылки на вскрытые компоненты

              2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

              • Литературу по С++ Builder обсуждаем здесь
              • Действия модераторов можно обсудить здесь
              • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
              • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) — крупнейший в рунете сборник материалов по Дельфи

              • FAQ раздела лежит здесь!

              Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

               

              0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
              0 Пользователей:
              « Предыдущая тема | C++ Builder | Следующая тема »

              Понравилась статья? Поделить с друзьями:
            • Aswbidsdriver sys синий экран как исправить
            • Aswarpot sys ошибка
            • Asustpcenter exe ошибка приложения
            • Asustpcenter exe application error
            • Asustek easy flash utility check system error