Estrutura sockaddr

Para a programação socket, foram definidos estruturas padrão com os parâmetros que devem ser repassados para as demais funções. Para programas TCP/IP utiliza-se a estrutura sockaddr_in. Definida da seguinte forma:

struct sockaddr_in {
   short int sin_family;          /* família do endereço */
   unsigned short int sin_port;   /* número da porta */
   struct in_addr sin_addr;       /* endereço IP */
   unsigned char sin_zero[8];     /* complemento da estrutura, utilizar a função bzero */
};

Veja o exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
 
int main(void)
{
   int iSock;
   struct sockaddr_in my_addr;
 
   iSock = socket(AF_INET, SOCK_STREAM, 0);
   if( iSock == -1)
   {
      perror("socket:");
      exit(1);
   }
 
   my_addr.sin_family = AF_INET;
   my_addr.sin_port = htons(4950);
   my_addr.sin_addr.s_addr = INADDR_ANY;
 
   bzero(&(my_addr.sin_zero), 8);
 
  return 0;
}

Marcos Laureano 2008/04/25 06:37

sockaddr_in.txt · Última modificação: 2008/04/25 06:39 por laureano
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0