1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| void info_addr(struct sockaddr_in addr)
{
printf("addr %s.%d \n", inet_ntoa(addr.sin_addr), ntohl(addr.sin_port)) ;
}
void info_socket(int desc_socket)
{
struct sockaddr_in sock_info ;
int lg = SIZEADDRIN ;
if (getsockname(desc_socket, (struct sockaddr *)&sock_info, &lg))
{
perror("info_socket(getsockname);");
return ;
}
info_addr(sock_info) ;
}
int createBindInetSocket(int type, u_short port)
{
int sockfd ;
struct sockaddr_in addr ;
int lg = SIZEADDRIN ;
// creation de la socket
sockfd = socket(AF_INET, type, 0) ;
if (sockfd==1)
{
perror("socket ;") ;
return(-1) ;
}
addr.sin_family=AF_INET ;
addr.sin_port = htons(port) ;
addr.sin_addr.s_addr = htonl(INADDR_ANY) ;
// attache de la socket
if (bind(sockfd, (struct sockaddr *) &addr, lg)==1)
{
perror("bind ;") ;
return(-2) ;
}
printf("socket attachée _n") ;
info_socket(sockfd) ;
return sockfd ;
} |