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



Hi Scott,

Sorry it's taken me all week to respond, but as the bumper stick says
"stuff happens" ;)

Before I respond to some of your questions from your last post, I want to
let you now that the network person in charge of the socket client
application has made some changes on their end, with the result being that
now I'm only getting one Accepted connection (on the VPN), and when
nothing is being sent, my program waits patiently to Select incoming
requests. I believe this is now working as I 'expected' it should since my
program has been actively running since 9/13 and is according to the call
stack, sitting on the Select statement.

I think the key here is that the network person asked "When you start the
interface, does the server at MMH automatically connect to the socket even
though there's no data being transferred?"

To which I answered "yes" and I think she recognized that this was what
was happening and made corrections so that attempts to connect are made
only when data is to be sent.

Now to answer some of your questions:

If you don't have anything, then why keep the connection live? Why not
close it and wait until the client has something to say?

The timeout value on my Select is 60 seconds. If nothing is received it
restores the readset and then the Select waits again for a connection.

I guess I need to re-think what options I have here. One option is to
simply let the program end when there is no data to be received and
cycle
it so that it runs every 30 minutes or so.

I don't understand that at all... you only need your server program to
run once every half hour!? Makes no sense to me. Also, why would you
want to end your server program, instead of just closing the client
socket and accepting the next one?

I'm thoroughly confused by what's happening here.... can you please
explain the scenario a little better? For starters:

a) How many clients do you expect to handle at once.

b) Do the different clients need to communicate with each other?

c) What happens during the conversation with a particular client?
What's the purpose for the connection? How much data is exchanged, and
how often?

The comment about "Rethinking my options" was just a thought, nothing
more. This was the result of trying to end the connection and for some
reason the program was abending. The 'abend' seems to have resolved itself
with the changes made by the network person on the client side.

A) The scenario is that this interface will receive pathology lab results
in HL7 format (variable length text strings (again thanks for the help
with the IFS prototypes)). Currently I expect to handle at most three
clients. The labs process blood tests/cholesterol tests etc. and when the
test are completed the results are sent to me so that we can process and
ship them off to our EMR (electronic medical records) application.
Currently we have: 1) hospital that will be sending lab results; 2)
another application that I use to test HL7 formatted messages (that talks
to the same socket server); and 3) the third connection allows the iSeries
to send a connection to the socket server with instructions to tell the
program to end (which only happens once/month when we do a restricted
state system save).

B) The clients will never communicate with one another.

C) For each client, when data is received it is collected and
strategically placed in the IFS (each data file is typically between 1 &
4k). The purpose of the connection is to only receive incoming lab result
data. Data is exchanged/received as it becomes available from the labs.
(An oncology doctor may request x number of tests for x number of patients
five or six days a week - and we have a staff of over 90 doctors). As a
result we want to receive the lab results as soon as they become
available, therefore the socket server will be running 24x7x365 (with the
only downtime for system saves). In a typical month we might receive
anywhere from 6000 to 8000 lab test results. Since the labs are external
we don't know when the results become available until we actually receive
them.

My intent for this application is to support accepting connections from
other potential labs as required.

I hope that answers your questions, and I really appreciate your help.
This certainly has been a learning experience for me.

Regards, Jerry

Gerald Kern - MIS Project Leader
Lotus Notes/Domino Administrator
IBM Certified RPG IV Developer
The Toledo Clinic, Inc.
4235 Secor Road
Toledo, OH 43623-4299
Phone 419-479-5535
gkern@xxxxxxxxxxxxxxxx


This e-mail message, including any attachments, is for the sole use of the
intended recipient(s) and may contain confidential and privileged
information. Any unauthorized use, disclosure or distribution is
prohibited. If you are not the intended recipient, please inform the
sender by reply e-mail and destroy this and all copies of this message.

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.