SCOUG Logo


Next Meeting: Sat, TBD
Meeting Directions


Be a Member
Join SCOUG

Navigation:


Help with Searching

20 Most Recent Documents
Search Archives
Index by date, title, author, category.


Features:

Mr. Know-It-All
Ink
Download!










SCOUG:

Home

Email Lists

SIGs (Internet, General Interest, Programming, Network, more..)

Online Chats

Business

Past Presentations

Credits

Submissions

Contact SCOUG

Copyright SCOUG



warp expowest
Pictures from Sept. 1999

The views expressed in articles on this site are those of their authors.

warptech
SCOUG was there!


Copyright 1998-2024, Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group. OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation. All other trademarks remain the property of their respective owners.

The Southern California OS/2 User Group
USA

SCOUG-Programming Mailing List Archives

Return to [ 08 | October | 2000 ]

>> Next Message >>


Date: Sun, 8 Oct 2000 13:44:39 PDT
From: Peter Skye <pskye@peterskye.com >
Reply-To: scoug-programming@scoug.com
To: scoug-programming@scoug.com
Subject: SCOUG-Programming: Setting TCP/IP timeout ?

Content Type: text/plain

My problem: Every once in a while when I have a socket open and am
receiving data, my programs hang after they've made a Socket Receive
call (the recv() call) and, typically, have received a portion of a data
stream. Apparently my TCP/IP (as set up by my programs) doesn't
recognize that no data is being returned and keeps waiting instead of
timing out.

My questions are: 1) How do I get a "Timed Out" error return when I
make a Socket Receive call? 2) What is the "default" value of the
timeout value since it _appears_ that the default value is "wait
forever"? 3) Is there a TCP/IP configuration setting for the entire
system somewhere that I don't know about which sets this value?

How I tested: I wrote debug code into one of my programs and ran five
instances of it overnight. Four of the five instances "hung" at 4:45
this morning and my debug code shows that each program made the Socket
Receive call and never got a response. Further, my debug code shows
that I was receiving data at 4:45 and suddenly the data streams just
stopped -- my guess is that something happened on my DSL line or at the
sending server and transmission was interrupted. The results of the
fifth instance of the program are irrelevant since it apparently was
updating a database with just-received data at 4:45 and therefore did
not have a socket open at that time.

What my programs should perhaps do: I use the Set Socket Options
"RcvBuf" call to increase the buffer size (to 16,384) and there _is_ a
Set Socket Options "RcvTimeO" call as well -- is this what I use to set
the Receive Timeout time? I have no documentation on "RcvTimeO". (My
PL/I VisualAge doesn't have any help on this that I can see. I do have
VisualAge C++ v. 3.0 but can't find any appropriate doc file in the
IBMCPP\HELP\ directory -- the only search hit I got was on
"somsSetsockopt" in the somguide.inf file, and that doesn't have a
description of the call. I also have Watcom C/C++ v. 11 and I can get
that box out if I should look there. The online TCP/IP Rexx Sockets API
Reference doesn't have any help on this that I can find, just a mention
of the call.)

Thanks for any help,

- Peter

=====================================================

To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".

For problems, contact the list owner at
"rollin@scoug.com".

=====================================================


>> Next Message >>

Return to [ 08 | October | 2000 ]



The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA

Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group. OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation. All other trademarks remain the property of their respective owners.