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

When to Send Data

Page 137 highlights

Using UNIX Domain Stream Sockets Sending and Receiving Data Function result: number of bytes actually sent, -1 if failure occurs. Example: count = send (s, buf, 10, 0); send blocks until the specified number of bytes have been queued to be sent, unless you are using nonblocking I/O. When to Send Data The server or client process should send data after connection is established. Refer to the send(2) man page for more information on send. Receiving Data recv and its parameters are described in the following table. Include files: System call: #include #include count = recv(s,buf,len,flags) int s; char *buf; int len, flags; Parameter Description of Contents INPUT Value s buf len flags socket descriptor of local socket pointer to data buffer maximum number of bytes that should be received settings for optional flags socket descriptor of socket sending data pointer to data to be sent size of data buffer 0 Function result: number of bytes actually received, -1 if failure occurs. Example: count = recv(s, buf, 10, 0); recv blocks until there is at least 1 byte of data to be received, unless you are using nonblocking I/O. The host does not wait for len bytes to be available; if less than len bytes are available, that number of bytes are received. Chapter 6 137

  • 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 6
137
Using UNIX Domain Stream Sockets
Sending and Receiving Data
Function result:
number of bytes actually sent, –1 if failure occurs.
Example:
count = send (s, buf, 10, 0);
send
blocks until the specified number of bytes have been queued to be
sent, unless you are using nonblocking I/O.
When to Send Data
The server or client process should send data after connection is
established. Refer to the
send(2)
man page for more information on
send
.
Receiving Data
recv
and its parameters
are described in the following table.
Include files:
#include <sys/types.h>
#include <sys/socket.h>
System call:
count = recv(s,buf,len,flags)
int s;
char *buf;
int len, flags;
Function result:
number of bytes actually received, –1 if failure occurs.
Example:
count = recv(s, buf, 10, 0);
recv
blocks until there is at least 1 byte of data to be received, unless
you are using nonblocking I/O. The host does not wait for
len
bytes to be
available; if less than
len
bytes are available, that number of bytes are
received.
Parameter
Description of Contents
INPUT Value
s
socket descriptor of local
socket
socket descriptor of
socket sending data
buf
pointer to data buffer
pointer to data to be sent
len
maximum number of bytes
that should be received
size of data buffer
flags
settings for optional flags
0