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

Declaring Socket Address Variables

Page 88 highlights

Using Internet Datagram Sockets Preparing Address Variables Preparing Address Variables Before your client process can make a request of the server process, you must establish the correct variables and collect the information that you need about the server process and the service provided. The server process needs to: • Declare socket address variables. • Assign a wildcard address. • Get the port address of the service that you want to provide. The client process needs to: • Declare socket address variables. • Get the remote server's internet address. • Get the port address for the service that you want to use. These activities are described next. Refer to the program example at the end of this chapter to see how these activities work together. Declaring Socket Address Variables You need to declare a variable of type struct sockaddr_in to use the local socket address for both processes. For example, the following declarations are used in the example client program: struct sockaddr_in myaddr; /* for local socket address */ struct sockaddr_in servaddr; /* for server socket address */ sockaddr_in is a special case of sockaddr and is used with the AF_INET addressing domain. Both types are shown in this chapter, but sockaddr_in makes it easier to manipulate the internet and port addresses. Some of the BSD Sockets system calls are declared using a pointer to sockaddr, but you can also use a pointer to sockaddr_in. The sockaddr_in address structure consists of the following fields: 88 Chapter 4

  • 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

88
Chapter 4
Using Internet Datagram Sockets
Preparing Address Variables
Preparing Address Variables
Before your client process can make a request of the server process, you
must establish the correct variables and collect the information that you
need about the server process and the service provided.
The server process needs to:
Declare socket address variables.
Assign a wildcard address.
Get the port address of the service that you want to provide.
The client process needs to:
Declare socket address variables.
Get the remote server's internet address.
Get the port address for the service that you want to use.
These activities are described next. Refer to the program example at the
end of this chapter to see how these activities work together.
Declaring Socket Address Variables
You need to declare a variable of type struct
sockaddr_in
to use the
local socket address for both processes. For example, the following
declarations are used in the example client program:
struct sockaddr_in myaddr; /* for local socket address
*/
struct sockaddr_in servaddr; /* for server socket address
*/
sockaddr_in
is a special case of
sockaddr
and is used with the
AF_INET addressing domain. Both types are shown in this chapter, but
sockaddr_in
makes it easier to manipulate the internet and port
addresses. Some of the BSD Sockets system calls are declared using a
pointer to
sockaddr
, but you can also use a pointer to
sockaddr_in
.
The
sockaddr_in
address structure consists of the following fields: