/*! \brief Initializes socket for receiving
 *
 * @retval TRUE Socket initialization was successful
 * @retval FALSE Socket initialization failed
 */
bool QNodeReceiver::socketReady() {

	//display error message and return early if socket creation failed
	if (!socketCreation()) {
		display(ERROR, QString("Socket creation failed!"));
		return false;
	}

	//display error message and return early if socket option setting failed
	if (!socketOption()) {
		display(ERROR, QString("Socket option setting failed!"));
		return false;
	}

	//display error message and return early if socket binding failed
	if (!socketBinding()) {
		display(ERROR, QString("Socket binding failed!"));
		return false;
	}
	return true;
}
Exemple #2
0
int main(int argc, char **argv){

	//processing commandline arguments
	const char *optString= "dhl:p:r:t:n:s:";
	int opt=0;
	//int schedFlag=1;
	//initialize structure variables to default values.
	runTimeArgs= malloc(sizeof(struct runArgs));
	runTimeArgs->debug=0;
	runTimeArgs->help=0;
	runTimeArgs->schedAlg="FCFS";
	runTimeArgs->portNo=atoi("8080");

	while((opt=getopt(argc,argv,optString))!=-1){
		switch(opt){
		case 'd':
			runTimeArgs->debug=1;
			break;
		case 'h':
			runTimeArgs->help=1;
			printHelpScreen();
			exit(0);
			break;
		case 'l':
			runTimeArgs->logFile=optarg;
			break;

		case 'p':
			runTimeArgs->portNo=atoi(optarg);
			
			break;
		case 'r':
			runTimeArgs->directory=optarg;
			break;
		case 'n':
			runTimeArgs->threadCount=atoi(optarg);
			break;
		case 't':
			runTimeArgs->time=atoi(optarg);
			break;

		case 's':
			runTimeArgs->schedAlg=optarg;
			break;
		
		case '?':
			 if (isprint (optopt))
			fprintf(stderr, "Unknown option `-%c'.\n", optopt);
			else
			fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt);
			abort();
		default:
			exit(1);
			//abort();
}
	}
	if(runTimeArgs->directory!=NULL)
	changeToGivenDirectory(runTimeArgs->directory);
	cwDirectory= getcwd(NULL,0);

if(runTimeArgs->debug!=1)
	daemon_init();			
	
	socketCreation(runTimeArgs);

	return 0;
}