Ошибка TCP-сокета 10061C#

Место общения программистов C#
Anonymous
Ошибка TCP-сокета 10061

Сообщение Anonymous »

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

Код: Выделить всё

protected override void OnStart(string[] args)
{

//Lisetns only on port 8030
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 8030);

//Defines the kind of socket we want :TCP
Socket  serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

//Bind the socket to the local end point(associate the socket to localendpoint)
serverSocket.Bind(ipEndPoint);

//listen for incoming connection attempt
// Start listening, only allow 10 connection to queue at the same time
serverSocket.Listen(10);

Socket handler = serverSocket.Accept();

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

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

Но потом я получил ошибку 10061

Код: Выделить всё

No connection could be made because the target machine actively refused it.
Я не могу понять, в чем причина возникновения этой ошибки.

Кто-нибудь может предложить способ устранения этой ошибки? улучшите код, чтобы он принимал запрос на любой порт.

Но клиенту необходимо отправить запрос на подключение к определенному порту. например, клиент1 должен подключиться к порту 8030, клиент2 должен подключиться к порту 8031.

Подробнее здесь: https://stackoverflow.com/questions/907 ... rror-10061

Вернуться в «C#»