Hello,
I’m using the resource manager framework using the dispatch block with the
associated attach functions and I’m porting (from QNX4) a server that
communicates over sockets (it accepts the connections). What’s the best way
to accept connections and read/write on a socket in this framework? I’m
aware of select_attach for reading on a particular fd, but with socket
communication you don’t have your fd until you accept a connection which
would be after you’ve set everything up. It looks like this is not the best
framework to use in the application.
Thanks,
Eric Norton
Eric Norton <enorton_spam@fct.ca> wrote:
Hello,
I’m using the resource manager framework using the dispatch block with the
associated attach functions and I’m porting (from QNX4) a server that
communicates over sockets (it accepts the connections). What’s the best way
to accept connections and read/write on a socket in this framework? I’m
aware of select_attach for reading on a particular fd, but with socket
communication you don’t have your fd until you accept a connection which
would be after you’ve set everything up. It looks like this is not the best
framework to use in the application.
Actually, if I remember my TCP/IP properly – you have to create a socket,
and bind() that socket to an IP address, then listen() on it.
Then, you should be able to select() on that socket to know if there are
any incoming requests – that would be a select_attach() on the first
socket. Inside that handler, you would accept() the connection (getting
a new socket), for which you would, again, do a select_attach() to handle
actual requests.
Or, create a seperate thread to handle the TCP/IP side of things within
the resource manager framework. Might be more efficient, and an easier
structure.
-David
Please follow-up to newsgroup, rather than personal email.
David Gibbs
QNX Training Services
dagibbs@qnx.com