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