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

Receiving Messages

Page 96 highlights

Using Internet Datagram Sockets Sending and Receiving Messages Parameter Description of Contents INPUT Value flags to tolen settings for optional flags address of recipient socket size of to 0 (no options are currently supported) pointer to the socket address that message should be sent to length of address structure that to points to Function result: Number of bytes actually sent, -1 in the event of an error. Example: count = sendto(s,argv[2],strlen(argv[2]),0,servaddr,sizeof(struct sockaddr_in)); The largest message size for this implementation is 32767 bytes. You should not count on receiving error messages when using datagram sockets. The protocol is unreliable, meaning that messages may or may not reach their destination. However, if a message reaches its destination, the contents of the message are guaranteed to be intact. If you need reliable message transfer, you must build it into your application programs or resend a message if the expected response does not occur. When to Send Data The client or server process should send data after sockets are bound. Refer to the send(2) man page for more information on sendto and sendmsg. Receiving Messages Use recvfrom or recvmsg to receive messages. recvmsg allows the read data to be scattered into buffers. 96 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

96
Chapter 4
Using Internet Datagram Sockets
Sending and Receiving Messages
Function result:
Number of bytes actually sent, –1 in the event of an
error.
Example:
count = sendto(s,argv[2],strlen(argv[2]),0,servaddr,sizeof(struct
sockaddr_in));
The largest message size for this implementation is 32767 bytes.
You should not count on receiving error messages when using datagram
sockets. The protocol is unreliable, meaning that messages may or may
not reach their destination. However, if a message reaches its
destination, the contents of the message are guaranteed to be intact.
If you need reliable message transfer, you must build it into your
application programs or resend a message if the expected response does
not occur.
When to Send Data
The client or server process should send data after sockets are bound.
Refer to the
send(2)
man page for more information on
sendto
and
sendmsg
.
Receiving Messages
Use
recvfrom
or
recvmsg
to receive messages.
recvmsg
allows the
read data to be scattered into buffers.
flags
settings for optional flags
0 (no options are
currently supported)
to
address of recipient socket
pointer to the socket
address that message
should be sent to
tolen
size of to
length of address
structure that to points
to
Parameter
Description of Contents
INPUT Value