Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ошибка Winsock1.Connect Добавлено: 20.02.05 17:02  

Автор вопроса:  Lister | ICQ: 298621256 
Чем может быть вызвана ошибка Winsock 10061
Connection is forcefully rejected

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #1
Добавлено: 21.02.05 13:56
Скорее всего одно из двух:

1. Неправильное название хоста или неработающий хост
2. Неправильный порт

Ответить

Номер ответа: 2
Автор ответа:
 VisBas



Вопросов: 44
Ответов: 127
 Web-сайт: chipmicro.narod.ru
 Профиль | | #2
Добавлено: 21.02.05 13:59
Вот описание на английском:

WSAECONNREFUSED (10061) Connection refused.

Berkeley description: No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host.

WinSock description: Same as Berkeley

TCP/IP scenario: In TCP terms (datastream sockets), it means an attempt to connect (by sending a TCP SYN packet) caused the destination host to respond to the host by returning a reset (a TCP RST packet). If an application sends a UDP packet to a host/port that does not have a datagram socket "listening," the network system may respond by sending back an ICMP Port Unreachable packet

User suggestions: Either you went to the wrong host, or the server application you're trying to contact isn't executing. Check the destination address you are using. If you used a hostname, did it resolve to the correct address? If the hostname resolution uses a local hosttable, it's possible you resolved to an old obsolete address. It's also possible that the local services file has an incorrect port number (although it's unlikely).

You can verify that the remote system is rejecting your connection attempt by checking the network statistics locally. Check that your network system (WinSock implementation) has a utility that shows network statistics. You could use this to verify that you're receiving TCP resets or ICMP Port Unreachable packets each time you attempt to connect.

Developer suggestions: If you have a network analyzer available, you can quickly check if the destination port number and host address are what you expect. On the server end, you could use a network system utility similar to BSD's "netstat -a" command to check that your server is running, and listening on the right port number.

This is one of the most frequent errors and one of the best to encounter, since it's one of the least ambiguous. There are only a few possible causes for this error:

you tried to connect to the wrong port. This is a common problem. You need to call htons() to translate a constant value to network byte order before assigning it to the sin_port field in the sockaddr structure.
you tried to connect to the wrong destination host address
the server application isn't running on the destination host
the server application isn't listening on the right port. The server application might need to call htons() to translate the port to network byte order in the sockaddr structure.
WinSock functions: With a datastream socket: connect() and FD_CONNECT WSAAsyncelect() notification message.

Additional functions: With a datagram socket: send() or sendto(), or FD_READ.



А вот кривой перевод на русский:

WSAECONNREFUSED СОЕДИНЕНИЕ (10061) отказывалось.

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

WinSock ОПИСАНИЕ: Также, как Berkeley

TCP/IP СЦЕНАРИЙ: В условиях TCP (datastream розетки), он означает попытку соединять (посылая пакет TCP SYN) заставил хозяина расположения ответить на хозяина возвращая сброс ( пакет TCP RST). Если приложение посылает пакет UDP хозяину/порту, который не имеет розетку дейтаграммы "слушание," сетевая система может ответить возвращая ICMP Порт пакета Unreachable

Предложения Потребителя: Также Вы шли к неправильному хозяину, или приложение сервера, которое Вы пытаетесь обратиться к не выполняется. Проверьте адрес расположения, который Вы используете. Если Вы использовали hostname, он решался в правильном адресе? Если hostname решение использует локальный главный, возможно Вы решались в старом устаревшем адресе. Также возможно, чтобы локальный файл услуг имел неправильный номер порта (хотя он вряд ли).

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

Предложения Разработчика: Если у вас есть доступный сетевой анализатор, Вы можете быстро провериться если номер порта расположения и главный адрес - что Вы ожидаетесь. В конце сервера, Вы могли бы использовать сетевую системную утилиту подобную BSD "netstat -" команда, чтобы проверить, который ваш сервер выполняет, и слушать в правом номере порта.

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

Вы попытались подключить к неправильному порту. Это - общая проблема. Вам нужно называть htons(), чтобы перевести постоянную величину в сетевой байтовый заказ прежде, чем назначить это в области sin_port в sockaddr структуре.
Вы попытались подключить к неправильному хозяину расположения адресовать приложение сервера не работает на хозяине расположения
приложение сервера не слушает в правом порте. Приложение сервера, вероятно, должно назвать htons(), чтобы перевести порт в сетевой байтовый заказ в sockaddr структуре.
WinSock ФУНКЦИИ: С datastream розеткой: соедините() и FD_CONNECT WSAAsyncelect сообщение уведомления().

Дополнительные функции: С розеткой дейтаграммы: пошлите() или sendto(), или FD_READ.

Ответить

Номер ответа: 3
Автор ответа:
 Lister



ICQ: 298621256 

Вопросов: 57
Ответов: 304
 Профиль | | #3 Добавлено: 21.02.05 15:41
Да я, балбес, оказывается файрвол забыл выключить :(

Ответить

Номер ответа: 4
Автор ответа:
 Progos



ICQ: 311715784 

Вопросов: 39
Ответов: 157
 Web-сайт: html-expert.org.ru
 Профиль | | #4
Добавлено: 23.02.05 00:51
У меня тоже такой прикол с файрволом был:), сколько я времени потратил, чтобы разобраться в чем дело...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам