/* acest program se conecteaza la un remote cu ajutorul socket-ului. Cum? Prin IP-ul si portul definite. */#include <stdlib.h> // libraria standard#include <sys/socket.h> // librarie like: *.internet_protocol#include <sys/types.h> // pentru tipuri de data#include <netinet/in.h> // *.internet_protocol, asemanator sys/socket.h#include <unistd.h> // tipuri simbolice de data#include <string.h> // pentru lucru cu stringuri#define IP "62.231.74.10" // ip-ul serverul-ului 2peu.ro#define PORT 6667int 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 scriumain(), 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 ?