I can't connect to tcplistener on the server

50 views Asked by At

I need to develop something like a tcp chat in which 2 clients will connect. Everything works on the local network, but after I put it on the host, I can't connect to my tcplistener

 public class CarHub
{
    {
        public TcpListener tcpListener = new TcpListener(IPAddress.Any, 5000);
        public List<ClientObject> clients = new List<ClientObject>();
    }
}

Tried to put instead IpAddress.Any ipadress my host. But it didn't work out

1

There are 1 answers

3
Aminmoharrami On
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

 class MyTcpListener
   {
     public static void Main()
     {
      TcpListener server = null;
      try
       {
        // Set the TcpListener on port 13000.
        Int32 port = 13000;
        IPAddress localAddr = IPAddress.P`enter code here`arse("127.0.0.1");

        // 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.
            using 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);
            }
        }
    }
    catch (SocketException e)
    {
        Console.WriteLine("SocketException: {0}", e);
    }
    finally
    {
        server.Stop();
    }

    Console.WriteLine("\nHit enter to continue...");
    Console.Read();   //Good luck
}

}