sockaddr_in and InternetAddress
Andre Kostur via Digitalmars-d
digitalmars-d at puremagic.com
Fri May 29 05:58:51 PDT 2015
On 2015-05-28 11:10 PM, Vladimir Panteleev wrote:
> On Friday, 29 May 2015 at 00:08:10 UTC, Andre Kostur wrote:
>> I'm looking for one of two things:
>>
>> 1) If I have a sockaddr_in, how do I get it into an InternetAddress?
>
> First of all, you may not actually need an InternetAddress. Modern code
> working with addresses should be address-agnostic, so it should take an
> Address instead. Ideally, you should avoid doing anything
> address-family-specific - then, it will work with any address family,
> incl. any introduced in the future.
Generally speaking, sure. But I live down at the protocol layers of
networking where I do need to be aware of whether I'm using IPv4 or IPv6.
> You could:
>
> - Create an UnknownAddressReference which uses a pointer to your
> sockaddr_in.
>
> - Create an InternetAddress, then copy the address over its "name"
> property.
Seems inconvenient to construct then copy over an object when I have the
data ready at the time of construction.
>> 2) If it is agreed that there should be a shorter way, I'm willing to
>> write the code, but would need a little guidance as to where would be
>> the appropriate place to put the code (New overload to parseAddress?
>> New constructor for InternetAddress?)
>
> A new constructor for InternetAddress won't hurt.
Done (for both InternetAddress and Internet6Address), pull request is in
progress.
Thanks for the input! (And to Adam too...)
More information about the Digitalmars-d
mailing list