Создание прослушивателя портов с помощью программирования на языке c#.
Я хочу создать прослушиватель портов, который продолжает прослушивать порт и сохранять данные в текстовом файле или XML-файле.Я не посылаю никакого ответа, просто слушаю порт.Я нашел следующее.Но это дает ошибку "запрошенный адрес недопустим в его контексте".Где я совершаю ошибку?Я новичок в программировании сокетов, поэтому, пожалуйста, предложите мне подходящее решение для этого.
Console.WriteLine("Starting echo server..."); int port = 1234; TcpListener listener = new TcpListener(IPAddress.Parse("192.168.2.162"),port); listener.Start(); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); StreamWriter writer = new StreamWriter(stream, Encoding.ASCII) { AutoFlush = true }; StreamReader reader = new StreamReader(stream, Encoding.ASCII); while (true) { string inputLine = ""; while (inputLine != null) { inputLine = reader.ReadLine(); writer.WriteLine("Echoing string: " + inputLine); Console.WriteLine("Echoing string: " + inputLine); } Console.WriteLine("Server saw disconnect from client."); Console.ReadLine(); }
Richard MacCutchan
Есть ли у вас устройство, подключенное к этому IP-адресу и Порту?
gggustafson
Что означает точка 192.168.2.162 получить?
Nathan Minier
1. Убедитесь, что адрес правильно привязан к вашей сетевой карте.
2. Убедитесь, что кто-то другой не использует этот порт.
3. Ваша система, скорее всего, настроена так, чтобы требовать прав администратора для открытия порта на внешнем IP-адресе.
Итак, простой способ проверить это:
Попробуйте запустить этот код против порта на локальном хосте loopback (127.0.0.1) для тестирования; это обычно не требует прав администратора.
Если это работает, делегируйте права порта учетной записи службы, которую вы планируете использовать для запуска программы через netsh urlacl