示例#1
0
int mule_server(int argc, char **argv)
{
	int i;
  	srand(time(NULL));

    	if (argc > 2) {
		printf("Too many arguments.....Try again\n");
        	return 1;
    	}

	news = malloc(100* sizeof(char *) );
	if(news == NULL) { 
		perror("Memory full!"); 
		return 1;
    	}
	for(i=0; i< 100; i++) {
		news[i] = malloc(SERVER_BUFFER_SIZE * sizeof(char));
	}	
    	if (strcmp(argv[0], "mule_server") == 0) {
        	if (argc < 2) {
         		printf("You forget the port...Try again\n");
        		return 1;
        	}
		if(udp_start_server(argv[1]) > 0) {
			return 1;
		}

		time_t start_t, end_t;
    		double diff_t;
    		time(&start_t);
		while(1) {
			time(&end_t);
   			diff_t = difftime(end_t, start_t);
	
			if(diff_t == 1) {
				udp_send("ff02::1", "8810", "Hello...I am server_mule...I have news for you\n");
				time(&start_t);
			}
		}
    	}
	for(int i=0; i< 100; i++) {
		free(news[i]);
    	}
    	free(news);
	return 1;
}
示例#2
0
文件: udp.c 项目: A-Paul/RIOT
int udp_cmd(int argc, char **argv)
{
    if (argc < 2) {
        printf("usage: %s [send|server]\n", argv[0]);
        return 1;
    }

    if (strcmp(argv[1], "send") == 0) {
        uint32_t num = 1;
        uint32_t delay = 1000000;
        if (argc < 5) {
            printf("usage: %s send <addr> <port> <data> [<num> [<delay in us>]]\n",
                   argv[0]);
            return 1;
        }
        if (argc > 5) {
            num = atoi(argv[5]);
        }
        if (argc > 6) {
            delay = atoi(argv[6]);
        }
        return udp_send(argv[2], argv[3], argv[4], num, delay);
    }
    else if (strcmp(argv[1], "server") == 0) {
        if (argc < 3) {
            printf("usage: %s server [start|stop]\n", argv[0]);
            return 1;
        }
        if (strcmp(argv[2], "start") == 0) {
            if (argc < 4) {
                printf("usage %s server start <port>\n", argv[0]);
                return 1;
            }
            return udp_start_server(argv[3]);
        }
        else {
            puts("error: invalid command");
            return 1;
        }
    }
    else {
        puts("error: invalid command");
        return 1;
    }
}