HP Rp7410 BSD Sockets Interface Programmer's Guide - Page 34
Using a Wildcard Local Address
![]() |
View all HP Rp7410 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 34 highlights
Using Internet Stream Sockets Preparing Address Variables #include struct servent *sp; /* pointer to service info */ ... sp = getservbyname ("example", "tcp"); peeraddr.sin_port = sp->s_port; When to Get the Server's Socket Address The server process needs to get the socket address before binding the listen socket. The client process needs to get the socket address before the client executes a connection request. Refer to the getservent(3n) man page for more information on getservbyname. Using a Wildcard Local Address Wildcard addressing simplifies local address binding. When an address is assigned the value of INADDR_ANY, the host interprets the address as any valid address. This is useful for your server process when you are setting up the listen socket. It means that the server process does not have to look up its own internet address. When INADDR_ANY is used as a host address, it also allows the server to listen to all network connections on the host. When a specific address is used in the bind, the server can only listen to that specific connection. Thus, INADDR_ANY is useful on a system in which multiple LAN cards are available, and messages for a given socket can come in on any of them. For example, to bind a specific port address to a socket, but leave the local internet address unspecified, the following source code could be used: #include #include #include ... struct sockaddr_in sin; ... s = socket(AF_INET, SOCK_STREAM, 0); sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = MYPORT; bind (s, &sin, sizeof(sin)); 34 Chapter 2
![](/manual_guide/products/hewlettpackard-rp5405-bsd-sockets-interface-programmers-guide-5276e7d/34.png)