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

Writing the Server and Client Processes

Page 92 highlights

NOTE Using Internet Datagram Sockets Writing the Server and Client Processes Writing the Server and Client Processes This section explains the calls your server and client processes must make. Creating Sockets Both processes must call socket to create communication endpoints. socket and its parameters are described in the following table. Include files: System call: #include #include s = socket(af, type, protocol) int s, af, type, protocol; Parameter Description of Contents INPUT Value af type protocol address family socket type underlying protocol to be used AF_INET SOCK_DGRAM 0 (default) or value returned by getprotobyname Function result: socket number (HP-UX file descriptor), -1 if failure occurs. Example: ls = socket (AF_INET, SOCK_DGRAM, 0); The socket number returned is the socket descriptor for the newly created socket. This number is an HP-UX file descriptor and can be used for reading, writing or any standard file system calls. A socket descriptor is treated like a file descriptor for an open file. To use write(2) with a datagram socket, you must declare a default address. Refer to the "Specifying a Default Socket Address" section of the "Advanced Topics for Internet Datagram Sockets" chapter for more information. 92 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

92
Chapter 4
Using Internet Datagram Sockets
Writing the Server and Client Processes
Writing the Server and Client Processes
This section
explains the calls your server and client processes must
make.
Creating Sockets
Both processes must call
socket
to create communication endpoints.
socket
and its parameters are described in the following table.
Include files:
#include <sys/types.h>
#include <sys/socket.h>
System call:
s = socket(af, type, protocol)
int s, af, type, protocol;
Function result:
socket number (HP-UX file descriptor), –1 if failure
occurs.
Example:
ls = socket (AF_INET, SOCK_DGRAM, 0);
The socket number returned is the socket descriptor for the newly
created socket. This number is an HP-UX file descriptor and can be used
for reading, writing or any standard file system calls. A socket descriptor
is treated like a file descriptor for an open file.
NOTE
To use
write(2)
with a datagram socket, you must declare a default
address. Refer to the “Specifying a Default Socket Address” section of the
“Advanced Topics for Internet Datagram Sockets” chapter for more
information.
Parameter
Description of Contents
INPUT Value
af
address family
AF_INET
type
socket type
SOCK_DGRAM
protocol
underlying protocol to be
used
0 (default) or value
returned by
getprotobyname