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

Setting the Server Up to Wait for Connection, Requests

Page 130 highlights

Using UNIX Domain Stream Sockets Writing the Server Process Setting the Server Up to Wait for Connection Requests Once your server process has an address bound to it, it must call listen to set up a queue that accepts incoming connection requests. The server process then monitors the queue for requests (using select(2) or accept ). The server process cannot respond to a connection request until it has executed listen. listen and its parameters are described in the following table. Include files: none System call: listen(s, backlog) int s, backlog; Parameter Description of Contents s backlog socket descriptor of local socket preferred maximum number of connection requests in the queue at any time INPUT Value server socket's descriptor size of queue (between 0 and SOMAXCONN) Function result: 0 if listen is successful, -1 if failure occurs. Example: listen (ls, 5); backlog is the preferred number of unaccepted incoming connections allowed at a given time. The actual number may be greater than the specified backlog. When the queue is full, further connection requests are rejected. A backlog of 0 specifies only 1 pending connection can exist at any given time. SOMAXCONN is defined in . The current default setting is 20, but may change in future releases. When to Set Server Up to Listen The server process should set up server to listen after socket is created and bound and before the server can respond to connection requests. Refer to the listen(2) man page for more information on listen. 130 Chapter 6

  • 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

130
Chapter 6
Using UNIX Domain Stream Sockets
Writing the Server Process
Setting the Server Up to Wait for Connection
Requests
Once your server process has an address bound to it, it must call
listen
to set up a queue that accepts incoming
connection requests. The server
process then monitors the queue for requests (using
select(2)
or
accept
). The server process cannot respond to a connection request
until it has executed
listen
.
listen
and its parameters are described
in the following table.
Include files:
none
System call:
listen(s, backlog)
int s, backlog;
Function result:
0 if listen is successful, –1 if failure occurs.
Example:
listen (ls, 5);
backlog
is the preferred number of unaccepted incoming connections
allowed at a given time. The actual number may be greater than the
specified
backlog
. When the queue is full, further connection requests
are rejected.
A
backlog
of 0 specifies only 1 pending connection can exist at any given
time. SOMAXCONN is defined in
<sys/socket.h>
. The current
default setting is 20, but may change in future releases.
When to Set Server Up to Listen
The server process should set up server to listen after socket is created
and bound and before the server can respond to connection requests.
Refer to the
listen(2)
man page for more information on
listen
.
Parameter
Description of
Contents
INPUT Value
s
socket descriptor of local
socket
server socket’s
descriptor
backlog
preferred maximum
number of connection
requests in the queue at
any time
size of queue (between 0
and SOMAXCONN)