'.Net Could not read data from relay connection: An existing connection was forcibly closed by a remote host

My node.js tcp client send data to .net tcp server ; it works when i send it for the first time . But when i want to send it for the second time , i get this error .

Could not read data from relay connection: An existing connection was forcibly closed by a remote host.

I use windows 10. and node.js v16.15.0.

This is my node.js (client):

var net = require('net');
var client = new net.Socket();
client.connect(3000, '172.--.--.--', function() {
    console.log('Connected');
    client.write("hello");
    
});

This is my .net tcp server:

TcpListener server = null;
try
{

    // Set the TcpListener on port 13000.
    Int32 port = 3000;
    IPAddress localAddr = IPAddress.Parse("172.--.--.--");

    // TcpListener server = new TcpListener(port);
    server = new TcpListener(localAddr, 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 use 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 c)
{
    Console.WriteLine("SocketException: {0}", c);
}
finally
{
    // Stop listening for new clients.
    server.Stop();
}

Console.WriteLine("\nHit enter to continue...");
Console.Read();


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source