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

Adding a Server Process to the Internet, Daemon

Page 169 highlights

Programming Hints Adding a Server Process to the Internet Daemon Adding a Server Process to the Internet Daemon This section contains example BSD Sockets programs that use the internet daemon, called inetd. For more information on inetd, refer to the inetd(1M) man page. You can invoke the example server programs from inetd if you have super-user capabilities and you make the following configuration modifications: • Add the following lines to the /etc/inetd.conf file: example stream tcp nowait root /server.tcp server.tcp example dgram udp wait root /server.udp server.udp where is the path to the files on your host. • Add the following lines to the /etc/services file: example 22375/tcp example 22375/udp • If inetd is already running, execute the following command so that inetd recognizes the changes: /etc/inetd -c These example programs do the same thing as the previous example servers do, but they are designed to be called from inetd. They do not have daemon loops or listen for incoming connection requests, because inetd does that. The source code for the two example servers follows. /* * S E R V E R . T C P * * This is a variation of the example program called serv.tcp. * This one performs the same function, except that it is * designed to be called from /etc/inetd. This version does * not contain a daemon loop, and does not listen for incoming * connections on the socket. /etc/inetd does these functions. * This server simply assumes that the socket to receive the * messages from and send the responses to is file descriptor * 0 when the program is started. It also assumes that * the client connection is already established to the socket. * For the sake of simplicity, the activity logging * functions of serv.tcp have also been removed. * */ /* Chapter 8 169

  • 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

Chapter 8
169
Programming Hints
Adding a Server Process to the Internet Daemon
Adding a Server Process to the Internet
Daemon
This section contains example BSD Sockets programs that use the
internet daemon, called
inetd
. For more information on
inetd
, refer to
the
inetd(1M)
man page.
You can invoke the example server programs from
inetd
if you have
super-user capabilities and you make the following configuration
modifications:
Add the following lines to the
/etc/inetd.conf
file:
example
stream
tcp
nowait
root
<path>/server.tcp
server.tcp
example
dgram
udp
wait
root
<path>/server.udp
server.udp
where
<path>
is the path to the files on
your
host.
Add the following lines to the
/etc/services
file:
example 22375/tcp
example 22375/udp
If
inetd
is already running, execute the following command so that
inetd
recognizes the changes:
/etc/inetd –c
These example programs do the same thing as the previous example
servers do, but they are designed to be called from
inetd
. They do not
have daemon loops or listen for incoming connection requests, because
inetd
does that. The source code for the two example servers follows.
/*
*
S E R V E R . T C P
*
*
This is a variation of the example program called serv.tcp.
*
This one performs the same function, except that it is
*
designed to be called from /etc/inetd. This version does
*
not contain a daemon loop, and does not listen for incoming
*
connections on the socket. /etc/inetd does these functions.
*
This server simply assumes that the socket to receive the
*
messages from and send the responses to is file descriptor
*
0 when the program is started.
It also assumes that
*
the client connection is already established to the socket.
*
For the sake of simplicity, the activity logging
*
functions of serv.tcp have also been removed.
*
*/
/*