What is with the second parameter in bind()?
Answer / chaitanya
The man page shows it as "struct sockaddr *my_addr". The sockaddr struct though is just a place holder for the structure it really wants. You have to pass different structures depending on what kind of socket you have. For an AF_INET socket, you need the sockaddr_in structure. It has three fields of interest:
sin_family
Set this to AF_INET.
sin_port
The network byte-ordered 16 bit port number
sin_addr
The host's ip number.
This is a struct in_addr,
which contains only one field,
s_addr which is a u_long.
| Is This Answer Correct ? | 0 Yes | 0 No |
How do I get my server to find out the clients address / host- name?
What is LILO?
Why do we need sockets?
Is socket a hardware or software?
What is the difference between SO_REUSEADDR and SO_REUSEPORT?
If bind() fails, what should I do with the socket descriptor?
How does unix socket work?
What are the pros/cons of select(), non-blocking I/O and SIGIO?
What is difference between socket () and serversocket () class?
What is the difference between read() and recv()?
What is the purpose of socket?
How can I read ICMP errors from connected UDP sockets?