Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Modul CLIENT TCP */
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <errno.h>
- #include <netdb.h>
- main (int argc, char ** argv)
- {
- unsigned short port; /* portul client, acelasi ca cel specificat in modulul server */
- char buffer[32];
- struct sockaddr_in server; /*adresa server*/
- struct hostent * hostnm; /*informatii server */
- int s, rc;
- if (argc != 3)
- {
- printf("Apel: %s hostname port \n", argv[0]);
- exit(1);
- }
- /*preia numele calculatorului local */
- if (!(hostnm=(struct hostent *) gethostbyname(argv[1])))
- {
- perror("Eroare la preluarea numelui serverului");
- exit(3);
- }
- printf("A preluat numele de server grupa 1080 Batrinac Sergiu client TCP.... \n");
- port = (unsigned short)atoi(argv[2]);
- strcpy(buffer, "Mesaj prin socket, TCP-gr1080");
- /*preia informatiile despre server*/
- server.sin_family = AF_INET; /*AF_UNIX, AF_INET*/
- server.sin_port = htons(port);
- server.sin_addr.s_addr = inet_addr("172.22.23.56"); /* aceeasi ca la server */
- printf("A preluat inf. despre server....\n");
- printf("Am transmis mesaj pe TCP Batrinac Sergiu");
- if ((s = socket(AF_INET,SOCK_STREAM,0)) < 0)
- {
- perror("Eroare la creare socket");
- exit(4);
- }
- printf("A creat socket-ul....\n");
- if (connect(s, &server, sizeof(server)) < 0)
- {
- perror("Eroare la obtinerea conexiunii");
- exit(5);
- }
- printf("A realizat conexiunea.....\n");
- /* Transmite mesajul serverului */
- if (send(s, buffer, strlen(buffer), 0) < 0)
- {
- perror("Eroare la transmisie");
- exit(6);
- }
- printf("A transmis mesajul.....\n");
- /* Confirmare de la server */
- if (recv(s, buffer, 32, 0) < 0)
- {
- perror("Eroare la receptie");
- exit(7);
- }
- printf("Confirmarea de la server a fost facuta.... \n");
- close(s);
- exit(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement