# include <netinet/in.h> // htonl() ntohl()
#endif
+#if defined( linux )
+# include <sys/types.h>
+# include <sys/socket.h>
+#endif
// The function htond is defined this way due to the way some
// processors and OSes treat floating point values. Some will raise
net->num_wheels = FGNetCtrls::FG_MAX_WHEELS;
for ( i = 0; i < FGNetCtrls::FG_MAX_WHEELS; ++i ) {
if ( node->getChild("brakes", i) != 0 ) {
- net->brake[i]
- = node->getChild("brakes", i)->getDoubleValue();
+ if ( node->getChild("parking-brake")->getDoubleValue() > 0.0 ) {
+ net->brake[i] = 1.0;
+ } else {
+ net->brake[i]
+ = node->getChild("brakes", i)->getDoubleValue();
+ }
} else {
net->brake[i] = 0.0;
}
// 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 );