Проблема с реализацией прослушивателя сокетов в asp.net веб-приложение

#asp.net #sockets #web-applications #listener #port

#asp.net #сокеты #веб-приложения #прослушиватель #порт

Вопрос:

Я пытаюсь привязать прослушивающий сокет к порту и для выполнения этой задачи я использую следующие строки кода:

     Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint("localhost", 8372);
    listenSocket.Bind(ep);  
    listenSocket.Listen(backlog);
  

Я нашел этот код по этой ссылке msdn. Я просто копирую и вставляю этот код и использую его в методе класса, как показано здесь, но, похоже, я не в состоянии этого сделать!! Должен ли я реализовать какой-то интерфейс или сделать что-то еще??

Пожалуйста, помогите мне

Спасибо в ожидании

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

1. Что происходит, когда вы говорите: «похоже, я не могу этого сделать !!» ?

2. @babak я получаю сообщение об ошибке, как вы можете видеть по ссылке, которую я опубликовал «Ожидается получение или установка средства доступа»!! Я этого не понимаю!!

3. Веб-фильтр, в котором я нахожусь, заблокировал вашу ссылку: «Фильтруется категория Websense: Секс».

Ответ №1:

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

Попробуйте заменить все это на:

 public void portSocketListener() // <-- Here's the error
{
    Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, 8372);
    listenSocket.Bind(ep);
    listenSocket.Listen(1);
}
  

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

1. @Daniel postimage.org/image/1eiwj3x50 я получаю эти ошибки. Пожалуйста, помогите мне!!

2. Вы изменили код из MSDN, используйте hostIP вместо "localhost"

3. @Daniel Что я должен написать вместо переменной backlog ?? Я имею в виду эту строку listenSocket. Прослушивание (НЕВЫПОЛНЕННАЯ работа); Что я должен там написать?? Редактор Visual Studio говорит, что это должно быть целое число? Пожалуйста, взгляните на это: postimage.org/image/1enyg83gk

4. Прочитайте документы, на которые вы ссылались: The backlog parameter specifies the number of incoming connections that can be queued for acceptance. Попробуйте изначально установить для него значение 1 , но вам может потребоваться более высокое значение в зависимости от того, что вы пытаетесь сделать.

5. @Daniel postimage.org/image/1p8sk3zr8 это ошибка, которую я получаю, не могли бы вы пояснить, что может быть причиной этой ошибки?