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

Requesting a Connection

Page 41 highlights

Using Internet Stream Sockets Writing the Client Process Requesting a Connection Once the server process is listening for connection requests, the client process can request a connection with the connect call. connect and its parameters are described in the following table. Include files: System call: #include #include #include connect(s, addr, addrlen) int s; struct sockaddr *addr; int addrlen; Parameter Description of Contents INPUT Value s addr addrlen socket descriptor of local socket pointer to the socket address length of address socket descriptor of socket requesting connection pointer to the socket address of the socket to which client wants to connect size of address structure pointed to by addr Function result: 0 if connect is successful, -1 if failure occurs. Example: struct sockaddr_in peeraddr; ... connect (s, &peeraddr, sizeof(struct sockaddr_in)); connect initiates a connection and blocks if the connection is not ready, unless you are using nonblocking I/O. When the connection is ready, the client process completes its connect call and the server process can complete its accept call. Chapter 2 41

  • 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 2
41
Using Internet Stream Sockets
Writing the Client Process
Requesting a Connection
Once the server process is listening for connection requests, the client
process can request a connection with the
connect
call.
connect
and its
parameters are described in the following table.
Include files:
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
System call:
connect(s, addr, addrlen)
int s;
struct sockaddr *addr;
int addrlen;
Function result:
0 if connect is successful, –1 if failure occurs.
Example:
struct sockaddr_in peeraddr;
...
connect (s, &peeraddr, sizeof(struct sockaddr_in));
connect
initiates a connection and blocks if the connection is not ready,
unless you are using
nonblocking I/O. When the connection is ready, the
client process completes its
connect
call and the server process can
complete its
accept
call.
Parameter
Description of
Contents
INPUT Value
s
socket descriptor of local
socket
socket descriptor of socket
requesting connection
addr
pointer to the socket
address
pointer to the socket
address of the socket to
which client wants to
connect
addrlen
length of address
size of address structure
pointed to by addr