pthread_t listener_thread; pthread_t sender_thread; int port; int main () { // TODO load parameters if (pthread_create(&listener_thread, NULL, listener, NULL) != 0 ) { cout << "Nelze vytvorit naslouchaci vlakno." << endl; abort(); } if (pthread_create(&sender_thread, NULL, sender, NULL) != 0 ) { cout << "Nelze vytvorit odesilaci vlakno." << endl; abort(); } // TODO jou threads void *listener(void *arg) { sockaddr_in sockName; sockaddr_in clientInfo; int serverSocket; char buf[BUFSIZE]; // Přijímací buffer int size; // Počet přijatých a odeslaných bytů socklen_t addrlen; // Velikost adresy vzdáleného počítače int count = 0; sockfd = socket(AF_INET, SOCK_STREAM, 0); // vytvorime novy socket if (sockfd < 0) { error("Nelze otevrit socket :("); } bzero((char *) &serv_addr, sizeof(serv_addr)); // vynulujem si informace portno = port; // naplnime si informace o serveru serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; serv_addr.sin_port = htons(portno); if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) { error("Nelze naslouchat :("); } listen(sockfd, 5); clilen = sizeof(cli_addr); while (newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, (socklen_t*) &clilen)) { // Zadost o nove spojeni if (newsockfd < 0) { error("Chyba pri prijmu :("); } bzero(buffer, bufferSize); timeb time_a; ftime(&time_a); n = read(newsockfd,buffer, bufferSize); // Nacteme si data timeb time_b; ftime(&time_b); if (n < 0) { error("Chyba cteni z bufferu :("); } char * pch; pch = strch } void *sender(void * arg) { }