#include #include #include #include long getTime(); long GetTime(void) { struct timeb tp; ftime(&tp); return (long) ((tp.time * 1000) + tp.millitm); } int main(int nbarg, char * args[]) { int nbMax = atoi(args[1]); char name[15]; int nb = 0; long avg = 0; long max = -1; long min = 1000000; long t; char private_group[MAX_GROUP_NAME]; char list_group[10][MAX_GROUP_NAME]; mailbox mbox; char mes[1000000]; service type_service; int nb_group; int16 type_mes; int endian; int len; char * dump; sprintf(name, "%d", GetTime()); SP_connect("4683@localhost", name, 0, 0, &mbox, private_group); SP_join(mbox, "testSpread"); while (nbMax>nb) { len = SP_receive(mbox, &type_service, private_group, 10, &nb_group, list_group, &type_mes, &endian, 1000000, mes); mes[len] = 0; dump = strchr(mes, ':'); dump[0] = 0; t = GetTime() - atol(mes); printf("%d: %d\n", nb, t); nb++; avg += t; if (max < t) max = t; if (min > t) min = t; } printf("%d / %d / %d / %d\n", nb, min, ((long) avg/nb), max); SP_leave(mbox, "testSpread"); SP_disconnect(mbox); return 1; }