× 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.



I have a process that uses sockets to send day to an outside vendor. 
Basically this process receives a request via a dtaq.  It then 
sends/receives the msg to the vendor via a sockets. Then sends the 
response to another dtaq to be used by another process.  It actually load 
balances between two persistent socket connections.   I have always 
controlled the sending and receiving, including a network message that 
functions as a keepalive.   Now the vendor want to be able to send 
unsolicited network messages to my process.  I am not sure how to handle 
this.  Will I have to use a select() to see if I need to receive a message 
before I try to send?

Below is the main logic of the program:

C        DoW       Shut_Down <> 'Y' 
 
C        ShtDn                                        99 
C        If        *in99 = *On 
C        Eval      Shut_Down = 'Y' 
C        Leave 
C        EndIf 
 
C        CallP     RcvDtaQ('BADQ1' : 'Library' : %LEN(Msg) : Msg : 45)     
 
 
C        If        Msg <> *Blanks 
 
C        Eval      ReturnCode = WrLine(Sock(s) :  peLineW :  -1 :  *off) 
 
C        Eval      ReturnCode = RdLine(Sock(s): %addr(wMsgLen) :  2  : 
*OFF :  x'0D' :  x'0D') 
C        Eval      ReturnCode = recv(Sock(s) :  %Addr(RcvMsg) : wMsgLen  : 
0) 
 
C        CallP SndDtaQ('BADQ2':'Library':%LEN(RcvMsg):RcvMsg:30:Sequence)  
 
C        Else
C        CallP     SndKeepAlive
C        EndIf 
C        EndDo 


Thanks,
Mark Garton


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.