/* *********** SPECIAL PENTRU MENTORUUUUUUUUUUUUUUU, ca el e dracu pe pamant************** */ /* acest program se conecteaza la un remote cu ajutorul socket-ului. Cum? Prin IP-ul si portul definite. */ #include // libraria standard #include // librarie like: *.internet_protocol #include // pentru tipuri de data #include // *.internet_protocol, asemanator sys/socket.h #include // tipuri simbolice de data #include // pentru lucru cu stringuri #define IP "62.231.74.10" // ip-ul serverul-ului 2peu.ro #define PORT 6667 int main(void) /* linia asta e scrisa mecanic.. nu stiu de ce dracu nu e corect scris (desi nu da nici o eroare) doar "main()" ... daca scriu main(), simplu, nu intoarce nici o eroare programul */ { // incepe un set de instructiuni int socket_shit; // pentru ca socket() este de tip integer, de-asta am declarat asta, intelegi ??? struct sockaddr_in machine; /* creeam structura sockaddr_in, care se imparte in: sin_family, sin_port, sin_addr.s_addr; aceste date sunt vitale pentru conectarea la o masina */ socket_shit=socket(PF_INET, SOCK_STREAM, 0); // acum folosim functia socket(), pentru creearea socket-ului // PF_INET este domeniul ce trebuie folosit in socket().. mai avem si AF_INET, dar pe ala il folosim in structura sockaddr_in, la sin_family // SOCK_STREAM defineste tipul de socket // protocolul il setam 0; aceasta optiune lasa socket-ul sa aleaga singur protocolul corect la conectare machine.sin_family=AF_INET; // machine, este numele structurii sockaddr_in; sockaddr_in este tipul de structura, care cuprinde 3 draci de date, care le-am zis ceva mai sus: sin.* machine.sin_port=htons(PORT); // ii facem cunostinta socket-ului cu portul.. machine.sin_addr.s_addr=inet_addr(IP); // acum cu IP-ul.. memset(&(machine.sin_zero), '\0', 8); // aici, mi-a explicat stefys aseara, ca, dracu... se pun la loc cei 8 bytes, se recupereaza. if((connect(socket_shit, (struct sockaddr *)&machine, sizeof(struct sockaddr)))==-1) // daca conectarea nu se face cu succes... { printf("Conexiunea la serverul %s nu s-a putut face!\n", IP); //intoarce mesaj de eroare exit(EXIT_FAILURE); // paraseste programul, in mod "eronat" :) } else // alfel, daca nu avem nici o eroare la conectare, { printf("Conexiunea la serverul %s s-a efectuat cu succes!\n", IP); // afiseaza mesajul de succes exit(EXIT_SUCCESS); // paraseste programul cu succes. } } // se incheie instructiunile programului // CE VREI MAI MULT DE LA VIATA MEA, MENTORULE ? CE DRACU NU AM INTELES ?