Как читать с TCP-порта в моей системе
Всем привет,
Я должен написать службу, где служба должна непрерывно прослушивать TCP-порт системы, в которой она развернута.
Я попробовал несколько консольных примеров, но не знаю, в чем ошибка, что они не работают.
заранее спасибо.
Что я уже пробовал:
Я попробовал использовать следующий код:
TcpListener server = null; try { // Set the TcpListener on port 13000. Int32 port = 8080; IPAddress localAddr = IPAddress.Parse("10.0.0.5"); // TcpListener server = new TcpListener(port); server = new TcpListener(IPAddress.Any, port); // Start listening for client requests. server.Start(); // Buffer for reading data Byte[] bytes = new Byte[256]; String data = null; // Enter the listening loop. while (true) { Console.Write("Waiting for a connection... "); // Perform a blocking call to accept requests. // You could also user server.AcceptSocket() here. TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Connected!"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while ((i = stream.Read(bytes, 0, bytes.Length)) != 0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); Console.WriteLine("Received: {0}", data); // Process the data sent by the client. data = data.ToUpper(); byte[] msg = System.Text.Encoding.ASCII.GetBytes(data); // Send back a response. stream.Write(msg, 0, msg.Length); Console.WriteLine("Sent: {0}", data); } // Shutdown and end connection client.Close(); } } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } finally { // Stop listening for new clients. server.Stop(); } Console.WriteLine("\nHit enter to continue..."); Console.Read();
F-ES Sitecore
"Не работает" не дает никому достаточно информации, чтобы помочь вам. Объясните любые сообщения об ошибках, которые вы получаете, или любое поведение, которое не происходит, которое должно происходить, или поведение, которое не должно происходить, но происходит.
sirisha.basavaraju
Консоль отображает "ожидание соединения..." и не выходит за его пределы
Я получаю данные о порте, когда проверяю с помощью инструмента "Socket Test", но не получаю данные из своей программы C#
F-ES Sitecore
Что подключается к этому порту на вашем компьютере? Какие данные вы ожидаете увидеть?