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

address domain.

Page 150 highlights

Using UNIX Domain 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 you need about the server process. Your server process needs to: • Declare socket address variables. • Get the pathname (character string) for the service you want to provide. Your client process needs to: • Declare socket address variables. • Get the pathname (character string) for the service 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_un to use for the socket address for both processes. For example, the following declaration is used in the example server program: struct sockaddr_un servaddr; /* server socket address */ sockaddr_un is a special case of sockaddr and is used with AF_UNIX address domain. The sockaddr_un address structure is defined in sys/un.h and consists of the following fields: Field Description short sun_family u_char sun_path[92] Specifies the address family and should always be set to AF_UNIX. Specifies the pathname to which the socket is bound or will be bound (e.g.: /tmp/myserver). 150 Chapter 7

  • 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

150
Chapter 7
Using UNIX Domain 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 you need
about the server process.
Your server process needs to:
Declare socket address variables.
Get the pathname (character string) for the service you want to
provide.
Your client process needs to:
Declare socket address variables.
Get the pathname (character string) for the service 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_un
to use for the
socket address for both processes. For example, the following declaration
is used in the example server program:
struct sockaddr_un
servaddr;
/* server socket address */
sockaddr_un
is a special case of
sockaddr
and is used with AF_UNIX
address domain. The
sockaddr_un
address structure is defined in
sys/un.h
and consists of the following fields:
Field
Description
short sun_family
Specifies the address family and should
always be set to AF_UNIX.
u_char sun_path[92]
Specifies the pathname to which the
socket is bound or will be bound (e.g.:
/tmp/myserver
).