ujiajah1

Void Server

Oct 19th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.77 KB | None | 0 0
  1. void server(int numPort){
  2.    int sockFd,n, nResp, i, message;
  3.    struct sockaddr_in servaddr,cliaddr;
  4.    socklen_t len;
  5.    char mesg[3]; //buffer per rebre el missatge
  6.  
  7.    printf("\n\nMODE SERVIDOR UDP port %d\n\n",numPort); //////////////////////////////////////////////////////////////////////////////////////////////////
  8.    printf("1.- Creant el socket\n");
  9.    sockFd=socket(AF_INET,SOCK_DGRAM,0); // es guarda l'identificador del socket UDP principal que s'est� creant
  10.  
  11.    bzero(&servaddr,sizeof(servaddr)); // s'inicialitza la vble servaddr a 0
  12.    servaddr.sin_family = AF_INET; // tipus d'adre�a, en aquest cas IPv4
  13.    servaddr.sin_addr.s_addr=htonl(INADDR_ANY); // permet enlla�ar el socket a qualsevol interface
  14.    servaddr.sin_port=htons(numPort); // inverteix el pes dels bits del port
  15.  
  16.    printf("2.- Bind\n");  //////////////////////////////////////////////////////////////////////////////////////////////////
  17.    if (bind(sockFd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0) // enlla�a l'adre�a amb l'identificador del socket principal
  18.       error("ERROR en el binding");
  19.  
  20.     char *temperatura[3];
  21.  
  22.     for(i=0; i<100; i++){
  23.    printf("%d.- Esperant temperatura...\n",i);  //////////////////////////////////////////////////////////////////////////////////////////////////
  24.    len = sizeof(cliaddr);
  25.    n = recvfrom(sockFd,mesg,strlen(*temperatura),0,(struct sockaddr *)&cliaddr,&len); //espera a rebre un missatge, BLOQUEJANT
  26.    if (n < 0) // si no s'ha pogut llegir cap byte
  27.         error("ERROR llegint del socket");
  28.  
  29.    message=atoi(mesg);
  30.    printf("Temperatura rebuda: %s\n",mesg);
  31.    printf("Enter: %i\n", message);
  32. }
  33.    printf("Finalitzat\n");  //////////////////////////////////////////////////////////////////////////////////////////////////
  34.  
  35. }
Add Comment
Please, Sign In to add comment