X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FExternalNet%2FExternalNet.cxx;h=a18b316f42c927ec78a2b9fc9166de26055621a9;hb=7805202fc67bf73c8d73667c723e16d49b77df07;hp=d8b184bf244f68c17d402f145b4c9a824454163e;hpb=2b74a7c3d62edc8250b1d9fd028695da13d47702;p=flightgear.git diff --git a/src/FDM/ExternalNet/ExternalNet.cxx b/src/FDM/ExternalNet/ExternalNet.cxx index d8b184bf2..a18b316f4 100644 --- a/src/FDM/ExternalNet/ExternalNet.cxx +++ b/src/FDM/ExternalNet/ExternalNet.cxx @@ -35,6 +35,10 @@ # include // htonl() ntohl() #endif +#if defined( linux ) +# include +# include +#endif // The function htond is defined this way due to the way some // processors and OSes treat floating point values. Some will raise @@ -370,6 +374,15 @@ FGExternalNet::FGExternalNet( double dt, string host, int dop, int dip, int cp ) // disable blocking data_server.setBlocking( false ); +#if defined( linux ) + // set SO_REUSEADDR flag + int socket = data_server.getHandle(); + int one = 1; + int result; + result = ::setsockopt( socket, SOL_SOCKET, SO_REUSEADDR, + &one, sizeof(one) ); +#endif + // allowed to read from a broadcast addr // data_server.setBroadcast( true );