<s>[INST] In the following code, I want to add a second UDP port with a different callback function:

```
 int main(int argc, char *argv[])
 {
   // some other code...
   std::string  udp_inbound_str = argv[1];
   int udp_inbound_port = std::stoi(udp_inbound_str);

   // Init UDP server
   Server svr;
   svr_alternate(serverCallback, udp_inbound_port); // Callback with a server function
   svr_alternate(svr, std::bind(&ToFile, udp_inbound_port, "file.txt")); // Callback with a ToFile function

   BOOST_LOG_SEV(lg, debug) << BOOST_CURRENT_FUNCTION << " Started UDP server. Port: "
            << udp_inbound_port << " UDP read-timeout: 10ms";

   while(!stop_program) {
           // other irrelevant code...
           if (_udp.Select(0.01)) {  // Wait up to 10ms to receive input
             svr.handleRequest();
           }
         }
```

I've attempted at adding another UDP port by doing the following:

```
 int main(int argc, char *argv[])
 {
   // some other code...
   std::string  udp_inbound_str = argv[1];
   int udp_inbound_port = std::stoi(udp_inbound_str);

   std::string  udp_inbound_str2 = argv[2];
   int udp_inbound_port2 = std::stoi(udp_inbound_str2);

   // Init UDP server
   Server svr1;
   Server svr2;
   svr_alternate(serverCallback, udp_inbound_port); // Callback with a server function
   svr_alternate(svr1, std::bind(&ToFile, udp_inbound_port, "file.txt")); // Callback with a ToFile function
   svr_alternate(svr2, std::bind(&To IDbFunction, udp_inbound_port2, "idb.txt")); // Callback with a ToIdbFunction.

   BOOST_LOG_SEV(lg, debug) << BOOST_CURRENT_FUNCTION << " Started UDP server. Port: "
            << udp_inbound_port << " UDP read-timeout: 10ms";

   while(!stop_program) {
           // other irrelevant code...
           if (_udp.Select(0.01)) {  // Wait up to 10ms to receive input
             svr1.handleRequest();
             svr2.handleRequest();
           }
         }
```

However, this works but I end up with 3 UDP ports listening instead of 2. The first one I defined `svr_alternate(serverCallback, udp_inbound_port);` keeps listening too.

If I only have one UDP port and the following order, it works fine:

```cpp
   Server svr;
   svr_alternate(svr, std::bind(&ToFile, udp_inbound_port, "file.txt")); // Callback with a ToFile function
   svr_alternate(serverCallback, udp_inbound_port); // Callback with a server function
```

How do I get this to work for 2 UDP ports?[/INST]