FINS/TCP Method

Section 7-4

245int total_len = 0;

246int recv_len;

248for (;;)

249{

250recv_len = recv(sockfd, (char *)buf, len, 0);

252if (recv_len > 0)

253{

254if (recv_len < (int)len)

255{

256len -= recv_len;

257buf += recv_len;

258total_len += recv_len;

259}

260else

261{

262total_len += recv_len;

263break;

264}

265}

266else

267{

268err_exit("TCP receive error");

269total_len = 0;

270break;

271}

272}

273

274return total_len;

276}

278/*

279* ERROR PROCESSING FUNCTIONS

280*/

281err_exit(err_msg)

282char *err_msg;

283{

284printf("client: %s %x¥n",err_msg,errno);

285exit(1);

286}

288/*

289* SIGNAL CAPTURE FUNCTIONS

290*/

291recv_fail()

292{

293printf("response timeout error ¥n");

294}

191

Page 215
Image 215
Omron CJ1W-ETN21 operation manual 191