Getting Request from a Server

I have a server sending a request to a TinyClr app
If I wait for the request in a loop, the request is received

var listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
listener.Bind(new IPEndPoint(IPAddress.Any, 8080));
listener.Listen(1);

while (true)
{
var client = listener.Accept();
var buffer = new byte[1024];
var received = client.Receive(buffer);
var data = Encoding.UTF8.GetString(buffer, 0, received);

var response = Encoding.UTF8.GetBytes("Data received: " + data);
client.Send(response);
client.Close();

}

But I want to get the request handled by the NetworkController_NetworkAddressChanged

The event are defined but they are never called
What do I miss here ?

networkController.NetworkAddressChanged += NetworkController_NetworkAddressChanged;
networkController.NetworkLinkConnectedChanged += NetworkController_NetworkLinkConnectedChanged;

private static void NetworkController_NetworkAddressChanged(NetworkController sender, NetworkAddressChangedEventArgs e)
{
Debug.WriteLine(“NetworkAddressChanged event triggered.”);

 var ipProperties = sender.GetIPProperties();
 var address = ipProperties.Address.GetAddressBytes();
 Debug.WriteLine("IP: " + address[0] + "." + address[1] + "." + address[2] + "." + address[3]);
 Debug.WriteLine($"IP Address: {ipProperties.Address}");

 try
 {
     _listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     _listener.Bind(new IPEndPoint(ipProperties.Address, 8080));
     _listener.Listen(1);

     _serverTimer = new Timer(ServerTimerCallback, null, 0, 1000); // Check for connections every second
 }
 catch (SocketException ex)
 {
     Debug.WriteLine($"SocketException: {ex.Message}");
 }
 catch (Exception ex)
 {
     Debug.WriteLine($"Exception: {ex.Message}");
 }

}

private static void NetworkController_NetworkLinkConnectedChanged(NetworkController sender, NetworkLinkConnectedChangedEventArgs e)
{
Debug.WriteLine($“NetworkLinkConnectedChanged event triggered. Connected: {e.Connected}”);

 if (e.Connected)
 {
     Debug.WriteLine("Network connected");
 }
 else
 {
     Debug.WriteLine("Network disconnected");
 }

}

private static void ServerTimerCallback(object state)
{
try
{
if (_listener != null && _listener.Poll(0, SelectMode.SelectRead))
{
var client = _listener.Accept();
var buffer = new byte[1024];
int received = client.Receive(buffer);
var data = Encoding.UTF8.GetString(buffer, 0, received);

         var response = Encoding.UTF8.GetBytes("Data received: " + data);
         client.Send(response);
         client.Close();
     }
 }
 catch (SocketException ex)
 {
     Debug.WriteLine($"SocketException in ServerTimerCallback: {ex.Message}");
 }
 catch (Exception ex)
 {
     Debug.WriteLine($"Exception in ServerTimerCallback: {ex.Message}");
 }

}