[Message Prev][Message
Next][Thread Prev][Thread Next][Message
Index][Thread Index]
Re: Socket problems
This sort of low level information about how packets actually get passed
around ought to
be on the wiki we don't have. As a newcomer to xPL, information about how
things
communicate isn't easy to get from the website, but a basic understanding
seems to be
necessary to avoid day one frustration.
----- Original Message -----
From: "Tom Van den Panhuyzen" <tomvdp@xxxxxxx>
To: <ukha_xpl@xxxxxxx>
Sent: Monday, March 21, 2005 9:42 AM
Subject: Re: [ukha_xpl] Socket problems
>
> John,
> That is not entirely correct.
>
> Suppose the pc has 2 network cards, one has IP1 the other IP2. IP1 is
> the address you will be using for xPL because maybe that is the local
> LAN and other devices are connected via that LAN.
>
> The ListenOnAddress in the registry must then be set to IP1.
>
> All traffic should remain "at that side", i.e. going via
network card with IP1.
>
> The hub will be listening on IP1 port 3865.
>
> Packets the hub receives will be checked against ListenToAddress.
> This is just a security check.
>
> The received packet is forwarded to the xPL apps that have registred
> to the hub (automatically via their heartbeat messages). The packets
> are sent to the ports these apps are listening on (portnum 5000+). If
> ListenOnAddress is set to a specific address, then that address is
> used as the source address otherwise the loopback address. In this
> example the message will be sent to IP1 port 5000 via a broadcast from
> IP1.
>
> If you do not set the source address but use the loopback address to
> broadcast from then Windows picks a network card seemingly random to
> send the packet from. But if you happen to have a firewall between
> IP1 and IP2 the packets may never arrive. (I am not an expert, but
> this is what I saw happening...)
>
> The application that is listening on IP1 port 5000 will receive the
> package and check it against ListenToAddress. If it passes that last
> check it will finally arrive at the application level.
>
> In the current implementation of the .Net xpllib all traffic stays
> neatly "on one side" of the PC (having 2 network cards).
The firewall
> doesn't log suspicious packets trying to get out nor does it block
> packets broadcast from the wrong IP.
>
> hth,
> Tom
>
>
> On Mon, 21 Mar 2005 07:27:23 -0000, John B
> <home-automation@xxxxxxx> wrote:
> > > I'm trying to get my C++ code working with the xPL network
> > > settings (ListenOnAddress etc).
> > >
> > > Everything works fine if I bind my socket to INADDR_ANY, but
> > > if I use the local IP address (in my case 192.168.0.10),
> > > nothing is received.
> >
> > Can I just clarify something:
> >
> > The listenon address is only of any use if you are the hub.
> > If you're a hub client, you should be binding to 127.0.0.1, and
ignoring
> > the listenon address.
> >
> > Hubs send out packets on 127.0.0.1 to their hub clients - could
this be
> > why Ethereal isn't seeing them?
> >
> > Regards,
> >
> > John
xPL Links: http://www.xplproject.org.uk http://www.xplhal.com http://www.xpl.myby.co.uk
To Post a Message: ukha_xpl@xxxxxxx
To Subscribe: ukha_xpl-subscribe@xxxxxxx
To Unsubscribe: ukha_xpl-unsubscribe@xxxxxxx
xPL Main Index |
xPL Thread Index |
xPL Home |
Archives Home
|