HP Rp7410 BSD Sockets Interface Programmer's Guide - Page 32

Getting the Remote Host's Internet Address

Page 32 highlights

Using Internet Stream Sockets Preparing Address Variables Field short sin_family u_short sin_port struct inaddr sin_addr Description Specifies the address family and should always be set to AF_INET. Specifies the port address. Assign this field when you bind the port address for the socket or when you get a port address for a specific service. Specifies the internet address. Assign this field when you get the internet address for the remote host. The server process only needs an address for its own socket. Your client process may not need an address for its local socket. Refer to the inet(7f) man page for more information on sockaddr_in. Getting the Remote Host's Internet Address gethostbyname obtains the internet address of the host and the length of that address (as the size of struct in_addr) from /etc/hosts or from NIS name server. gethostbyname and its parameters are described in the following table. Include files: System call: #include struct hostent *gethostbyname(name) char *name; Parameter Description of Contents name pointer to a valid host name (null-terminated string) INPUT Value host name string Function result: pointer to struct hostent containing internet address NULL pointer (0) if failure occurs. Example: 32 Chapter 2

  • 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
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196

32
Chapter 2
Using Internet Stream Sockets
Preparing Address Variables
The server process only needs an address for its own socket. Your client
process may not need an address for its local socket. Refer to the
inet(7f)
man page for more information on
sockaddr_in
.
Getting the Remote Host's Internet Address
gethostbyname
obtains the internet address of the host and the length
of that address (as the size of
struct in_addr
) from
/etc/hosts
or
from NIS name server.
gethostbyname
and its parameters are
described in the following table.
Include files:
#include <netdb.h>
System call:
struct hostent *gethostbyname(name)
char *name;
Function result:
pointer to struct
hostent
containing internet address
NULL pointer (0) if failure occurs.
Example:
Field
Description
short sin_family
Specifies the address family and should
always be set to
AF_INET.
u_short sin_port
Specifies the port address. Assign this field
when you bind the port address for the
socket or when you get a port address for a
specific service.
struct inaddr
sin_addr
Specifies the internet address. Assign this
field when you get the internet address for
the remote host.
Parameter
Description of Contents
INPUT Value
name
pointer to a valid host name
(null-terminated string)
host name string