// read settings from command-line parameters
Settings_ParseCommandLine( argc, argv, ext_gSettings );
+ if (isPacketOriented(ext_gSettings) &&
+ !(ext_gSettings->mProtocol == kProto_UDP ||
+ ext_gSettings->mProtocol == kProto_DCCP ))
+ die("Can't use packet-oriented mode with these settings.");
+
+ if (isSingleUDP(ext_gSettings) && ext_gSettings->mProtocol != kProto_UDP) {
+ fprintf(stderr, "WARNING: option -U applies to UDP only, ignored!\n");
+ unsetSingleUDP(ext_gSettings);
+ }
+
+ if (!isModeTime(ext_gSettings) &&
+ (isConnectionLess(ext_gSettings) || isPacketOriented(ext_gSettings)))
+ die("Amount-oriented (-n) works only in non-packet-oriented mode.");
+
// Check for either having specified client or server
if ( ext_gSettings->mThreadMode == kMode_Client
|| ext_gSettings->mThreadMode == kMode_Listener ) {