HP Rp5405 BSD Sockets Interface Programmer's Guide - Page 101

Example Using Datagram Sockets

Page 101 highlights

Using Internet Datagram Sockets Example Using Datagram Sockets Example Using Datagram Sockets NOTE These programs are provided as examples only of datagram socket usage and are not Hewlett-Packard supported products. These program examples demonstrate how to set up and use datagram sockets. These sample programs can be found in the /usr/lib/demos/networking/socket directory. The client program is intended to run in conjunction with the server program. This example implements a simple name server. The server process receives requests from the client process. It determines the internet address of the specified host and sends that address to the client process. If the specified host's internet address is unknown, the server process returns an address of all 1s. The client process requests the internet address of a host and receives the results from the server process. Before you run the example programs, make the following entry in the two hosts /etc/services files: example 22375/udp The source code for these two programs follows. /* S E R V . U D P * * This is an example program that demonstrates the use of * datagram sockets as an BSD Sockets mechanism. This contains * the server, and is intended to operate in conjunction with the * client program found in client.udp. Together, these two * programs demonstrate many of the features of sockets, as well * a good conventions for using these features. NOTE: This example * is valid only if the /etc/hosts file is being used to lookup * host names. * * This program provides a service called "example". It is an * example of a simple name server. In order for * it to function, an entry for it needs to exist in the * /etc/services file. The port address for this service can be * any port number that is likely to be unused, such as 22375, * for example. The host on which the client will be running * must also have the same entry (same port number) in its * /etc/services file. * */ #include Chapter 4 101

  • 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 4
101
Using Internet Datagram Sockets
Example Using Datagram Sockets
Example Using Datagram Sockets
NOTE
These programs are provided as examples only of datagram socket usage
and are not Hewlett-Packard supported products.
These program examples demonstrate how to set up and use
datagram
sockets. These sample programs can be found in the
/usr/lib/demos/networking/socket
directory. The client program
is intended to run in conjunction with the server program.
This example implements a simple name server. The server process
receives requests from the client process. It determines the internet
address of the specified host and sends that address to the client process.
If the specified host's internet address is unknown, the server process
returns an address of all 1s.
The client process requests the internet address of a host and receives
the results from the server process.
Before you run the example programs, make the following entry in the
two hosts
/etc/services
files:
example
22375/udp
The source code for these two programs follows.
/*
S E R V . U D P
*
* This is an example program that demonstrates the use of
* datagram sockets as an BSD Sockets mechanism.
This contains
* the server, and is intended to operate in conjunction with the
* client program found in client.udp. Together, these two
* programs demonstrate many of the features of sockets, as well
* a good conventions for using these features. NOTE: This example
* is valid only if the /etc/hosts file is being used to lookup
* host names.
*
* This program provides a service called ”example”.
It is an
* example of a simple name server.
In order for
* it to function, an entry for it needs to exist in the
* /etc/services file.
The port address for this service can be
* any port number that is likely to be unused, such as 22375,
* for example.
The host on which the client will be running
* must also have the same entry (same port number) in its
* /etc/services file.
*
*/
#include <sys/types.h>