You didn't say you were interested in native code.

The kernel is built a certain way, and it doesn't need to reference build config files - the code to support IPv6 is either there or not.

The C functions for socket stuff call into the kernel. Some of those give a C application the ability to use IPv6, but it's up to the kernel to do the right thing, depending on how it was built.

The link I posted has some C examples, doing exactly this, i.e. being able to deal with both V6 and V4 addresses. So look up those functions, use them, and you'll get V6 stuff if it's in the kernel.

All of the above - AFAIK, I haven't done Unix programing in C in a while.

And again - this discussion is far outside the scope of this group. Try android-porting, android-ndk, or http://www.xda-developers.com.

-- Kostya

08.02.2011 17:58, 捷超 王 пишет:
Yes, i have read the page and understand that migration to IPv6 when
the application is developed in pure JAVA is easy. But i don't know
why the Browser uses getaddrinfo(), which is a C function, to deal
with IPv6 connection.

When we build the OS, we can specify the kernel config file to build
against. The "CONFIG_IPV6" is one item in the kernel config file and
if it is set, something may read this file and adds/builds an IPv6
module containing the lower layer support for IPv6 connectivity. I
would like to know what is doing this and what module(s) are added in
order to design a full-functional IPv6 DNS for android.

Yes, this page helps me understand IPv6 support in JAVA. I may
consider developing IPv6 DNS in pure JAVA~but before that, i think i
have to know why getaddrinfo() doesn't work when "CONFIG_IPV6" is not
set.

Thanks very much.

Best wishes,
Jiechao Wang

On Feb 7, 9:15 pm, Kostya Vasilyev<kmans...@gmail.com>  wrote:
According to the link I posted before:

http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/ind...

getaddrinfo() is IPv6-aware, but of course depends on kernel support
being there.

So go head and read that page, I think it goes a long way towards
answering your question.

-- Kostya

07.02.2011 16:06, 捷超 王 пишет:









The Browser utilizes an JAVA class named InetAddress and this class
further calls the "getaddrinfo" native method to resolve the URLs.
I am still not sure what reads the changed kernel config file and
contributes to the changed behavior of the Browser.apk. Is build/core/
main.mk?
On Feb 7, 1:48 am, Kostya Vasilyev<kmans...@gmail.com>    wrote:
   From the group's description on Google Groups:
http://groups.google.com/group/android-developers
Discuss developing Android applications using the Android SDK. Get
help with troubleshooting apps, advice on implementation, and
strategies for improving your app's speed and user experience.
The kernel is not a part of the SDK, and rebuilding it is not a part of
the process of using the SDK.
Those other lists (esp. porting) has subscribers who routinely rebuild
the kernel, so you'll have a higher chance of getting a good answer.
BTW, the following link:
http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/ind...
says that Java applications don't need to worry about choosing a
specific IP version, it's automatic - although I don't know if the
browser uses Java for networking.
-- Kostya
06.02.2011 20:34, 捷超 王 пишет:
OK. Thank you.
But i would like to know, what problems are appropriate to post here?
On Feb 7, 12:04 am, Kostya Vasilyev<kmans...@gmail.com>      wrote:
Perhaps the browser always recognizes IPv6 addresses, and tries to use
them?
If IPv6 is disabled in the kernel, trying to use a v6 socket should
fail, and hence you can't open a v6 site. Once kernel support is
enabled, the rest would work automatically.
You might also want to post your question on a more appropriate list:
http://groups.google.com/group/android-platform
http://groups.google.com/group/android-porting
-- Kostya
06.02.2011 18:29, 捷超 王 пишет:
Hi, everyone~
I have been recently studying on why the Browser in the android OS
does not support accessing IPv6 websites through IPv6 URLs.
At first, I built the source code with "CONFIG_IPV6" not set and tried
IPv6 URLs in the Browser and the Browser could not access IPv6
websites. I then built the source code with "CONFIG_IPV6" set and
tried again, the Browser works!
But i don't get it. I think the source code of the Browser hasn't been
changed, how it can be that the Browser suddenly support accessing
websites through IPv6 URLs...? Is it the new kernel config file
introduce some modules to be included in the final iso image so that
the Browser which utilizes these modules is able to access websites
through IPv6 URLs?
I just need a hint, such as what reads the changed kernel config file
and contributes to the changed behavior of the Browser.apk.
Best wishes and thanks in advance!
--
Kostya Vasilyev -- WiFi Manager + pretty widget --http://kmansoft.wordpress.com
--
Kostya Vasilyev -- WiFi Manager + pretty widget --http://kmansoft.wordpress.com
--
Kostya Vasilyev -- WiFi Manager + pretty widget --http://kmansoft.wordpress.com


--
Kostya Vasilyev -- WiFi Manager + pretty widget -- http://kmansoft.wordpress.com

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to