int main(int quantiparametri,char* arg[]) { int i; int scaduto; //per il timer long ret; int quanti=omp_get_num_procs(); if (quantiparametri != 3) { printf ("devi passare 2 parametri : ip e porta \n"); exit(1); } help(); connectserver(arg[1],arg[2]); ret=send(sk,(void*)&quanti,sizeof(int),0); //gli mando prima quanto e' grande l'utente if (ret ==-1) { printf ("errore send numcores"); exit(1); } printf ("connessi\n"); help(); FD_ZERO(&master); //azzero master FD_ZERO(&read_fd); FD_SET(sk,&master); //setto server FD_SET(0,&master); //setto 0 per tastiera maxfd=sk; for (;;) { read_fd=master; //perche la select mi 'danegerebbe' master fflush(stdout); scaduto=select(maxfd+1, &read_fd, NULL, NULL, NULL); if (scaduto==-1) { printf("errrore select\n"); exit(1); } // printf("evento"); for (i=0; i<=maxfd;i++) { if(FD_ISSET(i, &read_fd)) { if (i==0) //tastiera { tastiera(); } else if (i==sk) //mex dal server mexserver(); } } } return 0; }
int main(int argc, char *argv[]) { int ch, p; char addr[HOSTMAX] = "localhost"; char port[6] = "7326"; setlocale(LC_ALL, ""); while ((ch = getopt(argc, argv, "g:hn:p:v")) != -1) { switch (ch) { case 'g': strlcpy(group, optarg, sizeof(group)); break; case 'n': strlcpy(nick, optarg, sizeof(nick)); break; case 'p': p = atoi(optarg); if (p < 0 || p > 66535) (void) fprintf(stderr, "%s: Bogus port number, using 7326", __progname); else strlcpy(port, optarg, sizeof(port)); break; case 'v': version(); break; case 'h': default: usage(); /* NOTREACHED */ } } argc -= optind; argv += optind; if (argc > 1) usage(); if (argv[0] != NULL) strlcpy(addr, argv[0], sizeof(addr)); /* Connect to server. */ if ((connectserver(addr, port)) != 0) { fputs("Could not connect to server", stderr); exit(1); } setvbuf(stdout, NULL, _IONBF, 0); client(); close(sockfd); return 0; }
void event_reconnect(struct eventhub * hub){ struct list_head * head = connlist_get(); if(!connlist_check(CONNSOCKETSERVER)){ struct connection * serverconn = connectserver(); if(serverconn){ eventhub_register(hub,connection_getfd(serverconn)); } } if(!connlist_check(CONNSERIALPORT)){ struct connection * serialconn = connserialport(); if(serialconn){ eventhub_register(hub,connection_getfd(serialconn)); } } }
int main(int argc, char **argv) { char optchar, *exec = NULL, server[512] = "", *username = NULL, *password = NULL; int s, retval = -1, port, target = 0; if (argc < 2) { helpme(argc, argv); } else { while ( (optchar = getopt(argc, argv, "h:t:u:p:e:")) != EOF ) { switch(optchar) { case 'h': sscanf(optarg, "%[^:]:%d", server, &port); break; case 'u': username = optarg; break; case 'p': password = optarg; break; case 't': target = atoi(optarg); break; case 'e': exec = optarg; break; } } if (!strcmp(server, "")) { strcpy(server, "127.0.0.1"); port = 21; } if (!username) { username = "******"; } if (!password) { password = "******"; } if (!exec) { exec = "id; killall msg; "; } fprintf(stderr, "[*] connecting %s:%d (%s/%s)...\n", server, port, username, password); if (!connectserver(&s, server, port)) { retval = attack(s, username, password, target, exec); close(s); } } return retval; }
void dealonereq(void *arg) { char buf[BUF_SIZE]; char * pbuf = buf; int bytes; char recvbuf[BUF_SIZE]; char hostname[256]; int remotesocket; int accept_sockfd; accept_sockfd = *(int *)arg; pthread_detach(pthread_self()); bzero(buf, BUF_SIZE); bzero(recvbuf, BUF_SIZE); printf("read data from client\n"); fflush(stdout); bytes = read(accept_sockfd, buf, BUF_SIZE); printf("client data(xxxxxxxxxxxxxxxxxxxxxxxx):\n%s\nend.....\n", pbuf); modify_request_get(&pbuf, bytes); printf("client data:\n%s\nend.....\n", pbuf); if(bytes <= 0) { close(accept_sockfd); return; } gethostname_m(pbuf, hostname, bytes); if(sizeof(hostname) == 0) { printf("Invalid host name"); close(accept_sockfd); return; } if(checkserver(hostname) == -1) { close(accept_sockfd); return; } remotesocket = connectserver(hostname); if(remotesocket == -1) { close(accept_sockfd); return; } send(remotesocket, pbuf, bytes, 0); printf("%s",pbuf); fflush(stdout); // free(pbuf); while(1) { int readSizeOnce = 0; printf("read data from server!\n"); readSizeOnce = read(remotesocket, recvbuf, BUF_SIZE); printf("server data:\n%s\nend....\n ", recvbuf); if(readSizeOnce <= 0) { break; } printf("send data to client\n"); send(accept_sockfd, recvbuf, readSizeOnce, 0); printf("结束.../"); } }
int main (int argc, char *argv[]) { char sname[40], line[256], writebuf[256]; char config_file[MAX_PATH_LEN]; quitflag = 0; NATEMODE = 0; starttime = time (NULL); /* parse command args here */ config_read(CONFIG_FILE); #ifndef NOFORK if (fork ()) exit (0); #endif signal (SIGHUP, (void *) gotsignal); signal (SIGINT, (void *) gotsignal); signal (SIGILL, (void *) gotsignal); signal (SIGFPE, (void *) gotsignal); signal (SIGBUS, (void *) gotsignal); #if 0 signal (SIGSEGV, (void *) gotsignal); #endif signal (SIGPIPE, (void *) gotsignal); signal (SIGTERM, (void *) gotsignal); signal (SIGUSR1, (void *) gotsignal); signal (SIGUSR2, (void *) gotsignal); signal (SIGWINCH, (void *) (gotsignal2)); /* heehee */ if ((ssock = open ("/dev/tty", O_RDONLY)) >= 0) { ioctl (ssock, TIOCNOTTY); close (ssock); } srandom ((unsigned) time (NULL)); getpush = 1; readusers (); strcpy (sname, DEFAULTSERVER); strcpy (mynick, DEFAULTNICK); strcpy (mychan, HOMECHAN); setbuf (stdout, NULL); setbuf (stderr, NULL); setjmp (my_env); #ifdef DEBUG printf ("Setup environment stuff\n"); #endif /* DEBUG */ do { if ((ssock = connectserver (sname)) < 0) { sleep (60); } else { #ifdef DEBUG printf ("Connected to server %s\n", sname); #endif /* DEBUG */ writeline ("PING td0"); #ifdef DEBUG printf ("Sent PING\n"); #endif readline (line); #ifdef DEBUG printf ("Received PONG\n"); #endif /* DEBUG */ sprintf(writebuf, "USER %s * * :%s", LOGINNAME, IRCUSER); writeline(writebuf); nick (mynick); sprintf (line, "MODE %s +i", mynick); writeline (line); join (mychan); setjmp (my_env2); waitforstuff (); #ifdef DEBUG printf (stderr, "Connection got closed!\n"); #endif close (ssock); } } while (!quitflag); #ifdef DEBUG printf ("Boom, I'm dead!\n"); #endif /* DEBUG */ close (ssock); checkufile(); exit (0); }