casually blocked UDP port

Alexander Carôt via Boost-users <[email protected]>
Newsgroups gmane.comp.lib.boost.user
Message-ID <trinity-d1304423-c20d-46b6-a6be-1a4753916620-1642197055772@3c-app-gmx-bs19>
Hello all,

I have a problem with a a casually blocked UDP bind port: My application uses UDP port 50050 and initiates the socket this way:


udp::resolver resolver(dFC->myIoService);
int port = 50050;
bool failed;

do{
    failed = false;
    udp::resolver::query query(udp::v4(), IPAddress, port);
    try {
        dFC->s = new udp::socket(
            dFC->myIoService, udp::endpoint(*resolver.resolve(query)));
    } catch (std::exception &e) {
          
    failed = true;
    int intPort = this->intConverter(port);
    intPort++;
    ostringstream conv;
    conv << intPort;
    port = conv.str();
 
    cout << "new port: " << port << endl;
} while (failed);

So I am basically using bind port 50050 and if it fails I am increasing it by one until the bind suceeds. In most cases the bind to port 50050 works fine but casually after a relaunch of the app or a crash the bind port 50050 appears to be blocked which is why it increases to higher numbers.

Now I wonder how the port can still be taken although the app has terminated and if there is way to force the app / the OS using port 50050 ? So far I have seen this on OSX only – on Windows and Linux I haven't noticed it yet.

Thanks in advance for any pointer how to resolve my isse,
best

Alex


--
http://www.carot.de
Email : [email protected]
Tel.: +49 (0)177 5719797

_______________________________________________
Boost-users mailing list
[email protected]
https://lists.boost.org/mailman/listinfo.cgi/boost-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.