C
23
getsockname
Guest on 18th April 2022 05:56:46 PM
include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
int tempsock = 0, len = 0;
struct sockaddr_in ssa4;
struct sockaddr_in UDPssa4;
if((tempsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
}
ssa4.sin_port = htons(0);
ssa4.sin_addr.s_addr = htonl(INADDR_ANY);
len = sizeof (struct sockaddr);
if(bind( tempsock, (struct sockaddr *) &ssa4, len ) == -1 ) {
}
if(getsockname(tempsock, (struct sockaddr *) &UDPssa4, &len)) {
}
printf("UDP source addr: %x, port: %d\n", UDPssa4.
sin_addr.
s_addr,
UDPssa4.sin_port);
/* close it */
if(close(tempsock)) {
}
return 0;
}