Socket engines

From: Brian Gray (mandy@NETCOM.COM)
Date: 08/29/97


Has anyone here ever tried to rewrite the core socket engine?  I've been
doing a bit of research and was wondering if the current system of
select()'ing through the descriptor list is the best way to go.  Has
anyone tried SIGIO?  What about fork()'ing a separate process for each
descriptor and using normal UNIX IPC to communicate?  Anyone ever set up
pseudo terminals?  I'd love to get the actual sockets working
transparently, meaning output to stdout goes to the socket and stdin
reads from the socket.  Of course stderr would always point out to the logs.

I guess this is more of a scratch MUD design topic than a CircleMUD
topic, but I figured some of you guys would have studied up enough on
networking to give some insight.  A thought I had last night was to have
a daemon process accept and process connections, then fork() and exec()
each descriptor as it attaches.  Would the children share the data
segment of the executable?  You have to have a central memory system to
keep track of global data like rooms and mobs.  Any thoughts?

 -- Brian


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST