Hi Matt

Currently we're using Windows. C++ on the nodes and C# for discovering 
the nodes. On the node side it should be as portable as possible so that 
we can switch to Linux later.

Basically we want to have as few restrictions/constraints for the 
network environment as possible. The only thing that needs to be there 
should be a DHCP server.

Is it essential to have a DNS in the network in order to perform 
hostname resolution? Isn't there some mechanism which uses broadcasts 
the find a given hostname (if there is no DNS available?). Or in other 
words: What are the minimum requirements for a network infrastructure so 
that hostname resolution can be performed, and which works for both 
Windows and Linux?

You notice that I'm (unfortunately) not a networking specialist... So 
any help is much appreciated!

Robert


Am 05.08.2011 11:50, schrieb Hird Matthew:
> Robert
>
> What platform are you using? Windows/Linux? What programming language are
> you using?
>
> I would use IP addresses, not hostnames. If you use hostnames and somebody
> plugs a board into your network, how will the rest of your network be able
> to resolve the new hostname? Are you using some form of dynamic DNS? If you
> use an IP address, there is nothing to resolve as long as your new node has
> it's NIC(s) setup to 'play nice' with your network.
>
> Cheers
> Matt
>
>
> -----Original Message-----
> From: Robert Hegner [mailto:rheg...@hsr.ch]
> Sent: 04 August 2011 14:13
> To: openslp-users@lists.sourceforge.net
> Subject: Re: [Openslp-users] How to register a service with the local IP
> address?
>
> Thanks for your answer!
>
> Before I write about what I came up with, here some background about my
> project: The goal is that the user can attach a node (an embedded computer
> which provides some service) to the network, and it should show up in some
> GUI application without the need to configure anything. So manually setting
> the IP address which should be published on every node separately is not an
> option.
>
> So here's my idea (the best so far...):
> I use boost.asio to get all local IP addresses, using the approach described
> here:
> http://hi.baidu.com/xshl5/blog/item/bebd0ee9df347f3ab80e2d8c.html
>
> This is still ugly because it needs to be able to resolve the hostname, but
> at least it should be portable.
>
> Now on my developer machine (with two network cards), I can find three
> IPv6 and two IPv4 addresses. So, as you wrote, the problem is to decide
> which address to use.
>
> I decided to register my service several times, with all available IP
> addresses. As URL-path I use an id which uniquely identifies a node. So the
> GUI will find several services with the same id and it can use ping to
> choose (the) one it can actually reach.
>
> This is not nice, but it's a beginning...
>
> But maybe I should really consider working with hostnames instead of IP
> addresses anyway. Then I would need to register the service only once (with
> one hostname instead of several IPs). I'll have to think about the
> consequences of this desicion for the rest of my project...
>
> With the above mentioned solution for finding my local IP addresses I need
> to make sure that every node has its own unique and valid hostname anyway.
> Maybe my nodes can give themselves an arbitrary, but globally unique ID
> (GUID) as a hostname when they boot for the first time? Then there is no
> need for the user to configure anything.
>
> Robert
>
>
> Am 04.08.2011 14:05, schrieb Philipp Schafft:
>
>> reflum,
>>
>> On Thu, 2011-08-04 at 09:29 +0200, Robert Hegner wrote:
>>> Using SLPReg I'd like to register
>>>
>>> service:TrackingNode.CP://192.168.0.100:1234
>>>
>>> where the IP address should actually be the the local IP address of
>>> my NIC. This sounds to me like a common problem when using SLP, but I
>>> haven't found a solution yet.
>>>
>>> The problem is that I haven't found a nice and portable way to
>>> discover the local IP address (using gethostname and gethostbyname is
>>> ugly and Windows specific, for example).
>>>
>>> What is the common practice to register a service using the current
>>> IP address?
>>
>> This is a non-easy problem and I don't have a good solution for you.
>>
>> Yet there are some points you should consider:
>> A lot systems (even my laptop) has multiple externel addresses plus
>> loopback address. In addition there is no 'eth0' so requesting the
>> address of hardcoded 'eth0' will fail on some systems (eth0 broke and
>> I replaced the card. As it is a new card it got a new name.)
>>
>> looking up hostname (both gethostname() and uname()) works for me but
>> often people have use strange hostnames ('localhost'...) or hostnames
>> can not be resolved.
>>
>> There can also be some kind of address translation in between
>> (NAT,...) which requires you to publish a IP address not your real one.
>>
>> I think a good application should allow the user to give the address
>> in some kind of configuration file, dialog,...
>>
>> I also think that plublishing hostnames (not IP addresses) solves some
>> (most) of the abo´ve problems. This should be prefered.
>>
>>
>> If you find a good solution please tell me. ;)
>>
>>
>>
>>
>>
>> ----------------------------------------------------------------------
>> -------- BlackBerry® DevCon Americas, Oct. 18-20, San Francisco,
>> CA The must-attend event for mobile developers. Connect with experts.
>> Get tools for creating Super Apps. See the latest technologies.
>> Sessions, hands-on labs, demos&   much more. Register early&   save!
>> http://p.sf.net/sfu/rim-blackberry-1
>>
>>
>>
>> _______________________________________________
>> Openslp-users mailing list
>> Openslp-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/openslp-users
>
>
>
> ----------------------------------------------------------------------------
> --
> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA The
> must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos&  much more. Register early&  save!
> http://p.sf.net/sfu/rim-blackberry-1
> _______________________________________________
> Openslp-users mailing list
> Openslp-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openslp-users
>
> This email, including any attachment, is a confidential communication
> intended solely for the use of the individual or entity to whom it is
> addressed. It contains information which is private and may be proprietary
> or covered by legal professional privilege. If you have received this email
> in error, please notify the sender upon receipt, and immediately delete it
> from your system.
>
> Anything contained in this email that is not connected with the businesses
> of this company is neither endorsed by nor is the liability of this company.
>
> Whilst we have taken reasonable precautions to ensure that any attachment to
> this email has been swept for viruses, we cannot accept liability for any
> damage sustained as a result of software viruses, and would advise that you
> carry out your own virus checks before opening any attachment.
>
>
> ------------------------------------------------------------------------------
> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos&  much more. Register early&  save!
> http://p.sf.net/sfu/rim-blackberry-1



------------------------------------------------------------------------------
BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Openslp-users mailing list
Openslp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openslp-users

Reply via email to