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


  • Subject: RE: TCP/IP Sockets -- maintaining multiple connections?
  • From: Bob Crothers <bob@xxxxxxxxxxxxxx>
  • Date: Fri, 30 Apr 1999 11:41:39 -0000
  • Organization: Cornerstone Communications, LLC

David,

the accept() returns a NEW socket descriptor.  You would then use that 
descriptor when sending/receiving to this new box.  The sockaddr 
structure you pass is an ouput parm (output from the API).  accept() 
puts the address information of the system requesting the connection.

Also, this is a very good place to use threads...or something like 
them.  That way each thread only has to worry about 1 connection.  You 
then use cross thread communications to tell the thread from server2 
that it has data from server1 to send.  These comminations can happen 
via a combination of message queues  (slow), data queues (fast),  user 
queues (very fast) and/or mutex's.  It all depends on the specific 
application requirements.

It is possible to handle multiple sockets from a single 
thread/process, but I think it is easier to use separate threads.

You mention that you are writing a "generic communications API (in 
RPGLE)".  I would recommend that you write your api in ILE/C with a 
mind to being called by RPG (depending on target release, no return 
values, not "C style strings", etc.).  Sockets are much easier to deal 
with in C.  And the calling program does not know (or care) what 
language your stuff is written in.

Regards,
Bob Crothers
Cornerstone Communications, LLC
www.faxserver401.com

another day done
all targets met
all systems fully operational
all customers satisfied
all staff keen and motivated
all pigs fed and ready to fly...



-----Original Message-----
From:   David Gibbs [SMTP:David.Gibbs@IL.US.MKS.com]
Sent:   Friday, April 30, 1999 11:12 AM
To:     'Midrange Mailing List'
Subject:        TCP/IP Sockets -- maintaining multiple connections?

Ok folks, here's a good one for ya...

I'm in the process of writing a generic communications API (in RPGLE) 
that
addresses the bsd sockets interface.

Most of the sockets routines address the socket itself for 
identification,
which I have no problem at all with.

However, the accept() routine wants a socket AND server address.

I have no particular problem providing the server address 
information... but
how would I maintain MULTIPLE connections, to different servers,
simultaneously (not actually at the same time... read from server 1, 
read
from server 2, write to server 1, write to server 2, etc).  I'm unsure 
as to
how I should maintain the different server data structures.

Any advice would be appreciated.

david


--

David Gibbs
Sr. Software Engineer
Mortice Kern Systems US, Inc.
2500 S. Highland Ave., Suite 200
Lombard, IL  60148

phone: (630) 495-2108 x5004
http://www.mks.com <http://www.mks.com/>
mailto:dgibbs@mks.com <mailto:dgibbs@mks.com>


Opinions expressed are strictly my own and do
not necessarily reflect those of my employer.


+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to 
MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: 
david@midrange.com
+---

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


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.