Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void server(int numPort){
- int sockFd,n, nResp, i, message;
- struct sockaddr_in servaddr,cliaddr;
- socklen_t len;
- char mesg[3]; //buffer per rebre el missatge
- printf("\n\nMODE SERVIDOR UDP port %d\n\n",numPort); //////////////////////////////////////////////////////////////////////////////////////////////////
- printf("1.- Creant el socket\n");
- sockFd=socket(AF_INET,SOCK_DGRAM,0); // es guarda l'identificador del socket UDP principal que s'est� creant
- bzero(&servaddr,sizeof(servaddr)); // s'inicialitza la vble servaddr a 0
- servaddr.sin_family = AF_INET; // tipus d'adre�a, en aquest cas IPv4
- servaddr.sin_addr.s_addr=htonl(INADDR_ANY); // permet enlla�ar el socket a qualsevol interface
- servaddr.sin_port=htons(numPort); // inverteix el pes dels bits del port
- printf("2.- Bind\n"); //////////////////////////////////////////////////////////////////////////////////////////////////
- if (bind(sockFd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0) // enlla�a l'adre�a amb l'identificador del socket principal
- error("ERROR en el binding");
- char *temperatura[3];
- for(i=0; i<100; i++){
- printf("%d.- Esperant temperatura...\n",i); //////////////////////////////////////////////////////////////////////////////////////////////////
- len = sizeof(cliaddr);
- n = recvfrom(sockFd,mesg,strlen(*temperatura),0,(struct sockaddr *)&cliaddr,&len); //espera a rebre un missatge, BLOQUEJANT
- if (n < 0) // si no s'ha pogut llegir cap byte
- error("ERROR llegint del socket");
- message=atoi(mesg);
- printf("Temperatura rebuda: %s\n",mesg);
- printf("Enter: %i\n", message);
- }
- printf("Finalitzat\n"); //////////////////////////////////////////////////////////////////////////////////////////////////
- }
Add Comment
Please, Sign In to add comment