Subj : Queues vs. Sockets
To   : Deuce
From : MCMLXXIX
Date : Tue Apr 29 2008 08:39 am

 Re: Queues vs. Sockets
 By: Deuce to MCMLXXIX on Tue Apr 29 2008 01:07:28

>   Re: Queues vs. Sockets
>   By: Deuce to MCMLXXIX on Tue Apr 29 2008 12:36 am
>
>  > Yes, you have one node bind/listen on a port and another node connect to
>  > it. But it sounds like what you want is many nodes connected to many othe
>  > nodes. If reliability isn't needed AND it doesn't need to work on
>  > multisystem installs, slicing off a part of the localnet and using
>  > broadcase would most likely be easiest.  Basically, have each node bind t
>  > a known port on 127.0.0.X where X is the node number.  I think XP has an
>  > issue with this though... see:
>  > http://support.microsoft.com/default.aspx?scid=kb;[LN];884020
>  >
>  > I'll see what I can whip up quickly for an example...
>
> load("sbbsdefs.js");
> load("sockdefs.js");
>
> var s=new Socket(SOCK_DGRAM, "InterNode");
> if(!s.bind(5000, "127.0.0."+bbs.node_num)) {
>         writeln("Bind failed: "+s.error);
>         exit(1);
> }
> if(!s.listen()) {
>         writeln("Listen failed: "+s.error);
>         exit(1);
> }
> writeln("Q to quit or # to send message to node");
>
> while(1) {
>         var k=console.getkey(K_NONE, 100);
>         if(k.toUpperCase()=='Q')
>                 break;
>         if(parseInt(k) > 0) {
>                 console.write(": ");
>                 var msg=console.getstr("", 77);
>                 s.sendto(msg,"127.0.0."+k, 5000);
>         }
>         if(s.data_waiting) {
>                 var d;
>                 d=s.recvfrom();
>                 writeln("Message from "+d.ip_address);
>                 writeln(d.data);
>                 writeln("");
>         }
>         writeln("Loop!");
> }
>
>
> This does NOT work under FreeBSD since you cannot actually listen on any
> loopback address except 127.0.0.1... not sure of other OSs.  Failing that, y
> can use port number X+bbs.node_num and just not be able to broadcast... whic
> may be enough.  Fiddle with the 5000 instead of 127.0.0. in the script.
>
> TCP gets trickier.  :-)
>

Ok that makes sense.  I'll see what I can do with it. Thanks!

---
� Synchronet � The BRoKEN BuBBLE (MDJ.ATH.CX)