Меню

М аптека ошибка 10061


error 10061 откуда берется при connect

От:

maxidroms

Россия

 
Дата:  05.09.05 10:10
Оценка:

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

Помогите плз!!! Клиенты недовольны. т.к. соединиться нельзя вообще никак! Это сообщения не переодически появляется а ПОСТОЯННО, но славо богу не у всех =(


Re: error 10061 откуда берется при connect

От:

TarasCo

 
Дата:  05.09.05 10:23
Оценка:

Здравствуйте, maxidroms, Вы писали:

M>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?

M>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

Где угодно
1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
2)На шлюзе/прокси и.т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
3)На серевре — скоре всего, опять же фаерволл.

В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и.т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

Да пребудет с тобою сила


Re[2]: error 10061 откуда берется при connect

От:

maxidroms

Россия

 
Дата:  05.09.05 10:30
Оценка:

Здравствуйте, TarasCo, Вы писали:

TC>Здравствуйте, maxidroms, Вы писали:


M>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?

M>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>Где угодно

TC>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>2)На шлюзе/прокси и.т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>3)На серевре — скоре всего, опять же фаерволл.

TC>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и.т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

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

Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!


Re[3]: error 10061 откуда берется при connect

От:

TarasCo

 
Дата:  05.09.05 11:07
Оценка:

Здравствуйте, maxidroms, Вы писали:

M>Здравствуйте, TarasCo, Вы писали:


TC>>Здравствуйте, maxidroms, Вы писали:


M>>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?

M>>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>>Где угодно

TC>>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>>2)На шлюзе/прокси и.т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>>3)На серевре — скоре всего, опять же фаерволл.

TC>>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и.т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

M>А что может быть с настройками не то если:


M>Стоит обычная пользовательская машина, выход по модему через провайдера. Все после этого встречается мой сервак т .к. он висит на выделенном ай-пи. в интернете.

M>Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!

1)
Возможны «происки» встроенных фаерволов. Например стандартному фаерволу из Win XP SP2 может не понравится идея соедиится с портом N на адрес M. IMHO любой персональный фаервол будет блокировать такие попытки.

2)Дело в провайдере?
про провайдеров не знаю, какая у них там политика безопасности? Но я бы на их месте тоже все подряд порты не открывал. В любом случае, можно обратиться в саппорт и поинтересоваться.

Да пребудет с тобою сила


Re[4]: error 10061 откуда берется при connect

От:

maxidroms

Россия

 
Дата:  05.09.05 11:09
Оценка:

Здравствуйте, TarasCo, Вы писали:

TC>Здравствуйте, maxidroms, Вы писали:


M>>Здравствуйте, TarasCo, Вы писали:


TC>>>Здравствуйте, maxidroms, Вы писали:


M>>>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?

M>>>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>>>Где угодно

TC>>>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>>>2)На шлюзе/прокси и.т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>>>3)На серевре — скоре всего, опять же фаерволл.

TC>>>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и.т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

M>>А что может быть с настройками не то если:


M>>Стоит обычная пользовательская машина, выход по модему через провайдера. Все после этого встречается мой сервак т .к. он висит на выделенном ай-пи. в интернете.

M>>Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!


TC>1)

TC>Возможны «происки» встроенных фаерволов. Например стандартному фаерволу из Win XP SP2 может не понравится идея соедиится с портом N на адрес M. IMHO любой персональный фаервол будет блокировать такие попытки.

TC>2)Дело в провайдере?

TC>про провайдеров не знаю, какая у них там политика безопасности? Но я бы на их месте тоже все подряд порты не открывал. В любом случае, можно обратиться в саппорт и поинтересоваться.

Ну хоть вы меня успокоили что это не в клиентской и не в серверной части дело…а то меня уже на куски тут готовы разорвать


Re[2]: error 10061 откуда берется при connect

От:

MaximE

Великобритания

 
Дата:  06.09.05 09:45
Оценка:

10 (1)

TarasCo wrote:

[]

> В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения.

В этом случае отсылается только RST.

[root@localhost max]# tcpdump -i lo tcp port 10000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
13:23:50.494285 IP localhost.localdomain.41915 > localhost.localdomain.10000: S 176260357:176260357(0) win 32767 <mss 16396,sackOK,timestamp 4126888 0,nop,wscale 2>
13:23:50.558286 IP localhost.localdomain.10000 > localhost.localdomain.41915: R 0:0(0) ack 176260358 win 0

2 packets captured
4 packets received by filter
0 packets dropped by kernel


Maxim Yegorushkin

Posted via RSDN NNTP Server 1.9


Re[3]: error 10061 откуда берется при connect

От:

TarasCo

 
Дата:  06.09.05 12:21
Оценка:

Здравствуйте, MaximE, Вы писали:

ME>В этом случае отсылается только RST.

Да, это меня переглючило, мысль ушла . RST+ACK S:0 A:xxxxxxx обычно отвечают
Спасибо за коррективу

Да пребудет с тобою сила


Re: error 10061 откуда берется при connect

От:

Michael Chelnokov

Украина

 
Дата:  10.09.05 11:46
Оценка:

Здравствуйте, maxidroms, Вы писали:

M>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?

Вы рано успокоились насчет серверной части
Почему-то никто не обратил внимания на то что ошибка 10061 — это WSAECONNREFUSED:
Connection refused.
No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.

Возможные причины? Реализация сервера. Например он однопоточный, с последовательной обработкой запросов. И пока он обрабатывает один запрос, успевает поступить больше чем backlog (см. второй параметр функции listen) запросов. Все остальные получат WSAECONNREFUSED.
В более сложном случае при большой нагрузке может не успевать доходить ход до потока, делающего accept. С тем же результатом. Посмотрите

здесь

Автор: Michael Chelnokov
Дата: 09.11.01

и что мне тогда посоветовали.


Re[2]: error 10061 откуда берется при connect

От:

MaximE

Великобритания

 
Дата:  10.09.05 12:16
Оценка:

Здравствуйте, Michael Chelnokov, Вы писали:

MC>Здравствуйте, maxidroms, Вы писали:


M>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?


MC>Вы рано успокоились насчет серверной части

MC>Почему-то никто не обратил внимания на то что ошибка 10061 — это WSAECONNREFUSED:
MC>Connection refused.
MC>No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.

MC>Возможные причины? Реализация сервера. Например он однопоточный, с последовательной обработкой запросов. И пока он обрабатывает один запрос, успевает поступить больше чем backlog (см. второй параметр функции listen) запросов. Все остальные получат WSAECONNREFUSED.

В этом случае клиенты получат WSAETIMEDOUT, а не WSAECONNREFUSED.

Когда очередь установленных соединений заполнена, новые клиенты не получают RST на свой SYN (что вызвало бы WSAECONNREFUSED). Новые клиенты не получают ничего на свой FIN, поэтому TCP стэк клиента будет еще несколько раз пытаться установить соединение посылая серверу SYN, пока не соединится успешно или не отвалится по таймауту с ошибкой WSAETIMEDOUT.


Re[3]: error 10061 откуда берется при connect

От:

Michael Chelnokov

Украина

 
Дата:  10.09.05 13:01
Оценка:

Здравствуйте, MaximE, Вы писали:

MC>>Возможные причины? Реализация сервера. Например он однопоточный, с последовательной обработкой запросов. И пока он обрабатывает один запрос, успевает поступить больше чем backlog (см. второй параметр функции listen) запросов. Все остальные получат WSAECONNREFUSED.


ME>В этом случае клиенты получат WSAETIMEDOUT, а не WSAECONNREFUSED.

Максим, я бы не писал если бы не знал. Если проверишь, то увидишь в этом случае именно WSAECONNREFUSED для тех клиентов что не поместились в очередь. WSAETIMEDOUT они получат если совсем ничего не будет в ответ. А в данном случае ответ четкий — сервер активно не захотел принимать входящее соединение.


Re[4]: error 10061 откуда берется при connect

От:

MaximE

Великобритания

 
Дата:  10.09.05 13:07
Оценка:

Здравствуйте, Michael Chelnokov, Вы писали:

MC>Здравствуйте, MaximE, Вы писали:


MC>>>Возможные причины? Реализация сервера. Например он однопоточный, с последовательной обработкой запросов. И пока он обрабатывает один запрос, успевает поступить больше чем backlog (см. второй параметр функции listen) запросов. Все остальные получат WSAECONNREFUSED.


ME>>В этом случае клиенты получат WSAETIMEDOUT, а не WSAECONNREFUSED.


MC> … А в данном случае ответ четкий — сервер активно не захотел принимать входящее соединение.

И что в этом случае сервер отсылает клиенту?


Re[3]: error 10061 откуда берется при connect

От:

Michael Chelnokov

Украина

 
Дата:  10.09.05 13:10
Оценка:

1 (1)

Здравствуйте, MaximE, Вы писали:

ME>Когда очередь установленных соединений заполнена, новые клиенты не получают RST на свой SYN

Не факт. Судя по Стивенсу, POSIX разрешает как игнорировать SYN, так и отвечать на него RST.
В Windows — второй вариант. В BSD — первый.
Давайте будем отталкиваться от того факта что клиенты все же получают RST, т.к. ошибка именно ECONNREFUSED, а не ETIMEDOUT. Т.е. кто-то все же отсылает оный RST. Почему бы не предположить что этот кто-то и есть сервер? Сервер под Windows


Re[5]: error 10061 откуда берется при connect

От:

Michael Chelnokov

Украина

 
Дата:  10.09.05 13:11
Оценка:

Здравствуйте, MaximE, Вы писали:

MC>> … А в данном случае ответ четкий — сервер активно не захотел принимать входящее соединение.


ME>И что в этом случае сервер отсылает клиенту?

RST

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

Содержание

  1. 10061 подключение не установлено
  2. Почему возникает такая проблема
  3. Как устраняется проблема
  4. Что вызывает ошибку «подключение не установлено, т.к. конечный компьютер отверг запрос на подключение»
  5. Скачок напряжения и потеря связи с серверами
  6. Проблема возникает в торренте
  7. Брандмауэр или антивирус не разрешают соединение
  8. Решение проблем с частной локальной сетью
  9. Другие причины появления ошибки
  10. Несколько вариантов поиска ошибок и решений:
  11. Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)» (РЕШЕНО)
  12. 10061 подключение не установлено
  13. Ошибка socket с кодом 10061
  14. Что вызывает ошибку «подключение не установлено, т. к. конечный компьютер отверг запрос на подключение»
  15. Скачок напряжения и потеря связи с серверами
  16. Проблема возникает в торренте
  17. Брандмауэр или антивирус не разрешают соединение
  18. Решение проблем с частной локальной сетью
  19. Другие причины появления ошибки
  20. Несколько вариантов поиска ошибок и решений:
  21. Ошибка 10061 соединение отвергнуто
  22. Как исправить ошибку Windows 7 10061
  23. Признаки ошибки 10061
  24. Причины ошибки 10061
  25. Ошибки во время выполнения в базе знаний
  26. Как исправить ошибку Windows 7 10061
  27. Шаг 1: Восстановить записи реестра, связанные с ошибкой 10061
  28. Ошибка 10061 соединение отвергнуто
  29. Ошибка соединения с сервером 1С:Предприятие Не запущен ни один рабочий процесс.
  30. Несколько вариантов поиска ошибок и решений:
  31. Python-сообщество
  32. Уведомления
  33. #1 Май 28, 2014 14:26:06
  34. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  35. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  36. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  37. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  38. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  39. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  40. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  41. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  42. Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение
  43. Поиск по всем бухгалтерским и налоговым сайтам Казахстана:
  44. Как зарегистрироваться на форуме?
  45. ошибка при подключении к СГДС 10061
  46. Causes of connect error 10061?
  47. Не удаётся подключиться к локальному серверу
  48. Не удаётся подключиться к серверу MySQL
  49. Ошибки запрета доступа в MySQL
  50. Потеря соединения с сервером MySQL
  51. Слишком много подключений
  52. Недостаточно памяти
  53. MySQL продолжает «падать»
  54. Заключение

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

Почему возникает такая проблема

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

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

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

1 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Там же мы обязательно выставляем настройки брандмауэра (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

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

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

Отредактируйте в любом текстовом редакторе два файла: srvinfosrvribrg.lst и srvinfo
eg_15411CV8Reg.lst. Замените в этих файлах старое имя сервера на новое.

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

После выполнения указанных действий — Все будет !

Источник

Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)» (РЕШЕНО)

WSL2 — это подсистема Windows для Linux, которая позволяет запускать подобия дистрибутивов Linux прямо в Windows не используя виртуальные машины.

По умолчанию дистрибутивы запускаются с интерфейсом командной строки, но это ограничение можно обойти, запустив на Linux сервер RDP (удалённый рабочий стол) или VNC, а затем подключившись к нему используя соответствующий клиент.

Для Kali Linux этот процесс был значительно автоматизирован и упрощён, подробности описаны в статье «Как установить Kali Linux с Win-KeX (графический интерфейс) в WSL2 (подсистему Windows для Linux)».

После установки Win-KeX для запуска графического интерфейса достаточно запустить Kali Linuxв WSL2:

А затем внутри Kali Linux выполнить команду:

После этого должен открыться графический интерфейс.

Но иногда это не происходит и появляется ошибка:

kali kex error 2

В командной строке выводится:

kali kex error

Для исправления этой ошибки нажмите Ctrl+c.

Затем введите команду

Эта команда может вывести что-то вроде следующего:

kali kex error 3

Вновь попробуйте открыть графический интерфейс:

На этот раз всё должно заработать:

kali kex error 4

Причина ошибки до конца не ясна — возможно, дело в неудачном старте VNC сервера или процесса Win-KeX, на это указывает строка «Win-KeX process ID 1618… which was already dead», то есть процесс уже мёртвый.

Командой kex stop мы принудительно останавливаем Win-KeX, который при следующем запуске работает нормально.

Источник

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

1 7

Ошибка socket с кодом 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

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

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

Ошибка 10061 соединение отвергнуто

Как исправить ошибку Windows 7 10061

Совместима с Windows 2000, XP, Vista, 7, 8 и 10

Признаки ошибки 10061

Такие сообщения об ошибках 10061 могут появляться в процессе установки программы, когда запущена программа, связанная с Microsoft Corporation (например, Windows 7), при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки 10061 является важной информацией при устранении проблемы.

Причины ошибки 10061

Ошибки типа Ошибки во время выполнения, такие как «Ошибка 10061», могут быть вызваны целым рядом факторов, поэтому важно устранить каждую из возможных причин, чтобы предотвратить повторение ошибки в будущем.

Ошибки во время выполнения в базе знаний

Как исправить ошибку Windows 7 10061

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

Шаг 1: Восстановить записи реестра, связанные с ошибкой 10061

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей Ошибка 10061 не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster [Загрузить] (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с Ошибка 10061. Используя очистку реестра [Загрузить], вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку %%error_name%%) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра [Загрузить] может резко повысить скорость и производительность системы.

Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с Ошибка 10061 (например, Windows 7):

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

Мы не несем никакой ответственности за результаты действий, совершенных по инструкции, приведенной ниже — вы выполняете эти задачи на свой ​​страх и риск.

Ошибка 10061 соединение отвергнуто

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

Помогите плз. Клиенты недовольны. т. к. соединиться нельзя вообще никак! Это сообщения не переодически появляется а ПОСТОЯННО, но славо богу не у всех =(

Здравствуйте, maxidroms, Вы писали:

M>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?
M>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

Где угодно
1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
2)На шлюзе/прокси и. т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
3)На серевре — скоре всего, опять же фаерволл.

В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и. т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

Здравствуйте, TarasCo, Вы писали:

TC>Здравствуйте, maxidroms, Вы писали:

M>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?
M>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>Где угодно
TC>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>2)На шлюзе/прокси и. т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>3)На серевре — скоре всего, опять же фаерволл.

TC>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и. т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!

Здравствуйте, maxidroms, Вы писали:

M>Здравствуйте, TarasCo, Вы писали:

TC>>Здравствуйте, maxidroms, Вы писали:

M>>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?
M>>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>>Где угодно
TC>>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>>2)На шлюзе/прокси и. т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>>3)На серевре — скоре всего, опять же фаерволл.

TC>>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и. т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

M>Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!

1)
Возможны «происки» встроенных фаерволов. Например стандартному фаерволу из Win XP SP2 может не понравится идея соедиится с портом N на адрес M. IMHO любой персональный фаервол будет блокировать такие попытки.

2)Дело в провайдере?
про провайдеров не знаю, какая у них там политика безопасности? Но я бы на их месте тоже все подряд порты не открывал. В любом случае, можно обратиться в саппорт и поинтересоваться.

Здравствуйте, TarasCo, Вы писали:

TC>Здравствуйте, maxidroms, Вы писали:

M>>Здравствуйте, TarasCo, Вы писали:

TC>>>Здравствуйте, maxidroms, Вы писали:

M>>>>При коннекте на некоторых машина постоянно возникает 10061. В чем может быть причина?
M>>>>Этот коннект хоть пробивается до серверного приложения или он не проходит сам компьютер даже, на котором это серв. приложение стоит?

TC>>>Где угодно
TC>>>1)На локальной машине. Тогда «виноват» скорее всего персональный фаерволл
TC>>>2)На шлюзе/прокси и. т.п. «Виноват» скорее всего межсетевой экран ( настоящий фаервол )
TC>>>3)На серевре — скоре всего, опять же фаерволл.

TC>>>В нормальной ситуации эта ошибка возникает, если на сервере не прослушивается запрашиваемый порт. В этом случае он отвечает RST+FIN что и означает активный отказ от соединения. Поскольку это происходит не со всеми клиентами, то стоит предположить, что порт указан верно, следовательно соединения отвергаются не сервером ( нужно проверить настройки клиентского ПО, если там задается порт ). Кроме серевра соединения могут отвергнуть фаерволл, прокси и. т.п. Если сервер расположен в инетнете, первым делом нужно проверить настройки прокси для выхода в интернет для этих пользователей.

M>>Коннекты с разных городов. Это может значить то что у провайдера закрыт порт или еще что то? Иными словами дело в провайдере? Ведь при модемном соединении никаких предварительных настроек Рабочей группы и ай-пи адреса не делается?!

TC>1)
TC>Возможны «происки» встроенных фаерволов. Например стандартному фаерволу из Win XP SP2 может не понравится идея соедиится с портом N на адрес M. IMHO любой персональный фаервол будет блокировать такие попытки.

TC>2)Дело в провайдере?
TC>про провайдеров не знаю, какая у них там политика безопасности? Но я бы на их месте тоже все подряд порты не открывал. В любом случае, можно обратиться в саппорт и поинтересоваться.

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

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

Бывает, однажды, ни с того и с чего программа 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

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

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

Отредактируйте в любом текстовом редакторе два файла: srvinfosrvribrg. lst и srvinforeg_15411CV8Reg. lst. Замените в этих файлах старое имя сервера на новое.

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

После выполнения указанных действий — Все будет

Python-сообщество

Уведомления

#1 Май 28, 2014 14:26:06

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Ошибка ConnectionRefusedError: [WinError 10061] Подключение не установлено, т. к. конечный компьютер отверг запрос на подключение

Поиск по всем бухгалтерским и налоговым сайтам Казахстана:

Как зарегистрироваться на форуме?

ошибка при подключении к СГДС 10061

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

If you have connect error 10061 then we strongly recommend that you Download (connect error 10061) Repair Tool.

Примечание: Эта статья была обновлено на 2020-11-17 и ранее опубликованный под WIKI_Q210794

Ноябрьское обновление 2020:

We currently suggest utilizing this program for the issue. Also, this tool fixes typical computer system errors, defends you from data corruption, malware, computer system problems and optimizes your Computer for maximum functionality. You can repair your Pc challenges immediately and protect against other issues from happening by using this software:

Ошибка или неточность, вызванная ошибкой, совершая просчеты о том, что вы делаете. Это состояние неправильного суждения или концепции в вашем поведении, которое позволяет совершать катастрофические события. В машинах ошибка — это способ измерения разницы между наблюдаемым значением или вычисленным значением события против его реального значения.

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

Causes of connect error 10061?

Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»

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

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld. sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

Чтобы проверить состояние службы MySQL, используйте следующую команду:

Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

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

Не удаётся подключиться к серверу MySQL

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

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

ERROR 2003: Cannot connect to MySQL server on ‘host_name’ (111) ERROR 2002: Cannot connect to local MySQL server through socket ‘/tmp/mysql. sock’ (111)

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

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

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTSВходим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

> SHOW GRANTS FOR ‘tecmint’@’localhost’;

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

> grant all privileges on *.test_db to ‘tecmint’@’192.168.0.100’; > flush privileges;

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout.

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my. cnf в разделах [mysqld] или [client] как показано ниже.

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

> SET GLOBAL connect_timeout=100; > SET GLOBAL max_allowed_packet=524288000;

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my. cnf.

Недостаточно памяти

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

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

MySQL продолжает «падать»

Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.

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

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin.

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

Заключение

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

Источник

#c #sockets #visual-c #tcp #winsock2

Вопрос:

Windows 10, Microsoft Visual Studio 2019, C

Я самостоятельно изучаю TCP-связь и использую информационную страницу WinSock2 для создания простой программы, в которой я могу отправлять данные от себя самому себе.

Я создал серверную часть программы в своем main.cpp файле, но я не уверен, где разместить код клиентской части.

Мой код является дубликатом предоставленного примера кода на веб-сайте Microsoft, так как я хочу, чтобы пример был запущен перед написанием моей собственной программы, которая будет использовать потоки. Код Сервера, Код Клиента.

Я разместил серверный и клиентский коды в отдельных программах, которые я запускаю вместе. Обе программы находятся на моем ноутбуке. Сначала я нажимаю запустить на сервере, затем через несколько секунд я нажимаю запустить на клиенте. Проблема в том, что клиент не может подключиться к серверу (получен код ошибки 10061). Я перепробовал много разных номеров портов, но ни один из них не сработал (около десяти разных номеров, в диапазоне от 1024 до 50000).

Странно то, что когда я открываю окно командной строки и набираю: netstat -abno | findstr <port_number> , оно сообщает мне, что прослушивается TCP-адрес. Он ничего не показывает ни до, ни после запуска программы, поэтому я уверен, что это связано с тем, что серверная программа запрашивает ее для прослушивания.

Вот изображение командной строки, когда я установил значение <port_number> 15280:

изображение

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

Единственное изменение в коде-это определение DEFAULT_PORT, которое я несколько раз менял, чтобы проверить разные номера портов. Я также изменил первый параметр getaddrinfo на NULL, так как у меня нет значений argc или argv. У меня было несколько инструкций printf, чтобы выяснить, где останавливается программа, но я удалил их. Кроме того, у меня нет цикла for из полного кода, я собрал фрагменты кода программы, которые я прошел от начала до конца.

Код сервера:

 
#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>
#include <Windows.h>

#pragma comment (lib, "Ws2_32.lib")

#define DEFAULT_PORT "15280"
#define DEFAULT_BUFLEN 512

int main()
{
    WSADATA wsaData;
    int iResu<
    
    iResult = WSAStartup(MAKEWORD(2, 2), amp;wsaData);
    if (iResult != 0) {
        printf("WSAStartup failed: %dn", iResult);
        return 1;
    }

    addrinfo *result = nullptr;
    addrinfo *ptr = nullptr;
    addrinfo hints;

    ZeroMemory(amp;hints, sizeof(hints));
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
    hints.ai_flags = AI_PASSIVE;

    iResult = getaddrinfo(NULL, DEFAULT_PORT, amp;hints, amp;result);
    if (iResult != 0) {
        printf("getaddrinfo failed: %dn", iResult);
        WSACleanup();
        return 1;
    }

    SOCKET ListenSocket = INVALID_SOCKET;
    ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
    if (ListenSocket == INVALID_SOCKET) {
        printf("Error at socket(): %dn", WSAGetLastError());
        freeaddrinfo(result);
        WSACleanup();
        return 1;
    }

    iResult = bind(ListenSocket, result->ai_addr, (int)result->ai_addrlen);
    if (iResult == SOCKET_ERROR) {
        printf("bind failed with error: %dn", WSAGetLastError());
        freeaddrinfo(result);
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }

    freeaddrinfo(result);

    if (listen(ListenSocket, SOMAXCONN) == SOCKET_ERROR) {
        printf("Listen failed with error: %dn", WSAGetLastError());
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }
    SOCKET ClientSocket;
    ClientSocket = INVALID_SOCKET;
    ClientSocket = accept(ListenSocket, nullptr, nullptr);
    if (ClientSocket == INVALID_SOCKET) {
        printf("accept failed: %dn", WSAGetLastError());
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }
    char recvbuf[DEFAULT_BUFLEN];
    int iSendResu<
    int recvbuflen = DEFAULT_BUFLEN;

    do {
        iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
        if (iResult > 0) {
            printf("Bytes printed: %dn", iResult);
            iSendResult = send(ClientSocket, recvbuf, iResult, 0);
            if (iSendResult == SOCKET_ERROR) {
                printf("send failed: %dn", WSAGetLastError());
                closesocket(ClientSocket);
                WSACleanup();
                return 1;
            }
            printf("Bytes sent: %dn", iSendResult);
        }
        else if (iResult == 0) {
            printf("Connection closing...n");
        }
        else {
            printf("recv failed: %dn", WSAGetLastError());
            closesocket(ClientSocket);
            WSACleanup();
            return 1;
        }
    } while (iResult > 0);

    iResult = shutdown(ClientSocket, SD_SEND);
    if (iResult == SOCKET_ERROR) {
        printf("shutdown failed: %dn", WSAGetLastError());
        closesocket(ClientSocket);
        WSACleanup();
        return 1;
    }
    closesocket(ClientSocket);
    WSACleanup();

    return 0;
}
 

Код клиента:

 
#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>

#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")

#define DEFAULT_PORT "15280"
#define DEFAULT_BUFLEN 512

int main(int argc, char **argv)
{
    WSADATA wsaData;
    int iResu<
    iResult = WSAStartup(MAKEWORD(2, 2), amp;wsaData);
    if (iResult != 0) {
        printf("WSAStartup failed: %dn", iResult);
        return 1;
    }
    addrinfo* result = nullptr;
    addrinfo* ptr = nullptr;
    addrinfo hints;
    ZeroMemory(amp;hints, sizeof(hints));
    hints.ai_family = AF_UNSPEC;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;
    // first param is argv[1]
    iResult = getaddrinfo(NULL, DEFAULT_PORT, amp;hints, amp;result);
    if (iResult != 0) {
        printf("getaddrinfo failed: %dn", iResult);
        WSACleanup();
        return 1;
    }
    SOCKET ConnectSocket = INVALID_SOCKET;
    ptr = resu<
    ConnectSocket = socket(ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol);
    if (ConnectSocket == INVALID_SOCKET) {
        printf("Error at socket(): %dn", WSAGetLastError());
        freeaddrinfo(result);
        WSACleanup();
        return 1;
    }
    iResult = connect(ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
    if (iResult == SOCKET_ERROR) {
        printf("Error: %dn", WSAGetLastError());
        closesocket(ConnectSocket);
        ConnectSocket = INVALID_SOCKET;
    }
    freeaddrinfo(result);
    if (ConnectSocket == INVALID_SOCKET) {
        printf("Unable to connect to server!n");
        WSACleanup();
        return 1;
    }
    int recvbuflen = DEFAULT_BUFLEN;
    const char *sendbuf = "this is a test";
    char recvbuf[DEFAULT_BUFLEN];
    
    iResult = send(ConnectSocket, sendbuf, (int)strlen(sendbuf), 0);
    if (iResult == SOCKET_ERROR) {
        printf("send failed: %dn", WSAGetLastError());
        closesocket(ConnectSocket);
        WSACleanup();
        return 1;
    }
    printf("Bytes Sent: %dn", iResult);
    iResult = shutdown(ConnectSocket, SD_SEND);
    if (iResult == SOCKET_ERROR) {
        printf("shutdown failed: %dn", WSAGetLastError());
        closesocket(ConnectSocket);
        WSACleanup();
        return 1;
    }

    do {
        iResult = recv(ConnectSocket, recvbuf, recvbuflen, 0);
        if (iResult > 0) {
            printf("Bytes received: %dn", iResult);
        }
        else if (iResult == 0) {
            printf("Connection closedn");
        }
        else {
            printf("recv failed: %dn", WSAGetLastError());
        }
    } while (iResult > 0);

    iResult = shutdown(ConnectSocket, SD_SEND);
    if (iResult == SOCKET_ERROR) {
        printf("shutdown failed: %dn", WSAGetLastError());
        closesocket(ConnectSocket);
        WSACleanup();
        return 1;
    }

    closesocket(ConnectSocket);
    WSACleanup();

    return 0;
}
 

Комментарии:

1. Сервер должен bind , затем listen и , наконец accept , accept часто находиться в цикле, чтобы вы могли продолжать принимать больше подключений. Было бы полезно, если бы вы показали свою лучшую попытку, чтобы мы могли понять, что вы пробовали, и лучше составить достойные ответы.

2. » Я не уверен, где разместить [функции accept() и bind() и listen() ] » — везде, где вы хотите, чтобы это соответствовало вашим потребностям. «Стал бы я помещать каждую из них в отдельную программу и каким-то образом запускать их одновременно? «…ты мог бы, да. Но это не является обязательным требованием. Например, вместо этого вы можете использовать connect() и bind() / listen() / accept() в отдельных потоках в рамках одной программы. » Если да, то как это делается и как я обеспечу, чтобы они работали вместе? «- просто создайте 2 отдельных проекта, скомпилируйте их и запустите. Что в этом сложного?

3. » На странице справки не показано, где следует разместить клиентскую часть кода (например, другой файл или другую отдельную программу). «- да, это так. Пример Сервера и Клиента реализован как отдельные программы. Как видно из того, что каждая из них имеет свою собственную main() функцию, и тот факт, что каждая из них задокументирована как «полное приложение», следовательно, 2 отдельные программы.

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

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ляп ошибка шахматиста 5 букв
  • Магнитола пионер выдает ошибка усилителя