Search code examples
c#socketslistenerport

The requested address is not valid in its context when I try to listen a port


I am trying to connect to a sensor using network, the sensor's ip is 192.168.2.44 on port 3000;

My Code:

byte[] byteReadStream = null; // holds the data in byte buffer
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("192.168.2.44"), 3000);//listen on all local addresses and 8888 port
TcpListener tcpl = new TcpListener(ipe);
while (true)
{
    //infinite loop
    tcpl.Start(); // block application until data and connection
    TcpClient tcpc = tcpl.AcceptTcpClient();
    byteReadStream = new byte[tcpc.Available]; //allocate space
    tcpc.GetStream().Read(byteReadStream, 0, tcpc.Available);
    Console.WriteLine(Encoding.Default.GetString(byteReadStream) + "\n");
}

enter image description here

But when I run this code, I get this error:

The requested address is not valid in its context


Solution

  • Use IPAddress.Any to listen. This seems to be your goal:

    //listen on all local addresses
    

    The listening address you have specified is invalid for some reason. There is no need to specify a numeric address.