× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Rick,

Are you using non-blocking (O_NONBLOCK) mode on your socket? Perhaps
using select to set a timeout?

I recently had a little trouble with an improperly initialized FDset.
Always set it before calling select()...

// Register socket to FD_READSET
FD_ZERO(l_readset);
FD_SET(p_SockDesc : l_readset);
if select(p_SockDesc+1
:%addr(l_readset)
:*null
:*null
:%addr(l_tv)) > 0;
// Read a line from the socket

Hth,
-Eric DeLong

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Renkema, Rick
Sent: Tuesday, March 15, 2011 11:22 PM
To: Midrange Systems Technical Discussion
Subject: RE: Sockets question

Chris,

I have a listener job that accepts incoming requests over TCP/IP and
handshakes (validates)
the connection. A process is then spawned with the give/take
descriptor. It is the latter
process that then has a one-on-one with the specific POS terminal and
sits on a RcvDtaQ.
This program never closes - it is (should) always be ready to accept
incoming requests.

Rick


I have worked with many different POS terminals myself. What you are
saying confuses me. You are talking about tcp sockets but the reference
data queues these are two different beasts. In general you have one
server listening then spawn off the connections to the waiting prestart
jobs. When you are finished with the transaction you must close the
connection and return to wait state so the job can process another
request. There is a way and need to signal the listening server job that
the worker job is available again. You also can use multiple threads but
I am not there yet.




************************************************************************
***********
The information in this e-mail message and any files transmitted with it
are intended to be confidential and for the use of only the individual
or entity to whom they are addressed. The message and files may be
protected by legal professional privilege, or other legal rules. The
confidentiality of and privilege applying to this message and files is
not waived if this message or files has been sent to you by mistake. If
the reader of this message or files is not the intended recipient, you
are notified that retention, distribution or copying of this message and
files are strictly prohibited. If you receive this message or files in
error, please notify us immediately by telephone or return e-mail and
delete all copies from your computer system. It is the recipient's
responsibility to check this message and files for viruses.
Thank you.
************************************************************************
***********


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.