#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 это ошибка, которую я получаю, не могли бы вы пояснить, что может быть причиной этой ошибки?