Отправить данные в текстовый файл с TCP-сервера C # - PullRequest
0 голосов
/ 12 декабря 2018

Ниже приведена имеющаяся у меня программа TCP-сервера, которая печатает данные в реальном времени с клиента.

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Net;
 using System.Net.Sockets;
 using System.IO;


public class EchoServer {
public static void Main() {
    TcpListener listener = null;
    byte[] datalength = new byte[4];

    try
    {
        listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 1234);
        listener.Start();
        Console.WriteLine("TCP Server Has Started....");
        while (true)
        {
            TcpClient client = listener.AcceptTcpClient();
            StreamReader reader = new StreamReader(client.GetStream());
            StreamWriter writer = new StreamWriter(client.GetStream());
            string s = string.Empty;
            string b = string.Empty;
            s = reader.ReadLine();

            {
                Console.WriteLine(DateTime.Now.ToString());
                Console.WriteLine("From client -> Heart Rates : " + s);


            }
            reader.Close();
            writer.Close();
            client.Close();
        }
    }

    catch (Exception e)
    {
        Console.WriteLine(e.Message);
        Console.WriteLine(e);
        //Console.WriteLine(e.ToString());
    }
    finally
    {
        Console.WriteLine("Listener stopped");
        if (listener != null)
        {
            listener.Stop();
        }
      }
    }
  }

Я хотел бы поместить эти данные в текстовый файл.

Любые предложения о том, как мне это сделать?

Я ищу способ, когдаЯ закрываю серверную программу и открываю текстовый файл, чтобы увидеть все данные, которые печатал сервер.

1 Ответ

0 голосов
/ 14 декабря 2018

Попробуй так:

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;

public class EchoServer
{
    public static void Main()
    {
        TcpListener listener = null;
        byte[] datalength = new byte[4];

        try
        {
            listener = new TcpListener(IPAddress.Parse("127.0.0.1"), 1234);
            listener.Start();
            Console.WriteLine("TCP Server Has Started....");
            while (true)
            {
                TcpClient client = listener.AcceptTcpClient();
                StreamReader reader = new StreamReader(client.GetStream());
                StreamWriter writer = new StreamWriter(client.GetStream());
                string s = string.Empty;
                string b = string.Empty;
                s = reader.ReadLine();

                {
                    string FilePath = "Sample.txt";

                    File.AppendAllText(FilePath, DateTime.Now.ToString());
                    File.AppendAllText(FilePath, "From client -> Heart Rates : " + s);
                }
                reader.Close();
                writer.Close();
                client.Close();
            }
        }

        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            Console.WriteLine(e);
            //Console.WriteLine(e.ToString());
        }
        finally
        {
            Console.WriteLine("Listener stopped");
            if (listener != null)
            {
                listener.Stop();
            }
        }
    }
}
...