Hello,
I'm a C-programmer and want to do something in Java now;
I want to write an IPv6 server in java which should do what my C written
IPv6-server does:
- create the two sockets for IPv4 and IPv6
- bind, listen
- monitor the sockets with "poll" and accept the connection on the
socket which is ready to be accepted;
see the C-source at
http://www.unixarea.de/ipv6-server.c.txt
it can be compiled and run and creates LISTEN on the two sockets, see
netstat output:
~/c]$ gcc ipv6-server.c
~/c]$ ./a.out
family: 28 (PF_INET6) sin6_addr: [::]
LISTEN: IPv6 ...
family: 2 (PF_INET) sin_addr: [0.0.0.0]
LISTEN: IPv4 ...
~/c]$ netstat -an | fgrep 39999
tcp4 0 0 *.39999 *.* LISTEN
tcp6 0 0 *.39999 *.* LISTEN
when I do something similar on the same FreeBSD host in Java, I can't
manage to create the IPv6 LISTEN on the IP addr "::"; IPv4 works fine,
when I use as addr 'null';
the source is here:
http://www.unixarea.de/ipv6.java.txt
~/java]$ javac ipv6.java
~/java]$ java -version
java version "1.6.0_03-p4"
Java(TM) SE Runtime Environment (build 1.6.0_03-p4-guru_22_apr_2011_14_10-b00)
Java HotSpot(TM) Client VM (build 1.6.0_03-p4-guru_22_apr_2011_14_10-b00, mixed mode)
~/java]$ java -Djava.net.preferIPv6Stack=true ipv6
java.net.SocketException: Protocol family unavailable
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at ipv6$1.run(ipv6.java:18)
at java.lang.Thread.run(Thread.java:619)
Any Java guru out here? Any comments on my Java class? Thanks
matthias
--
Sent from my FreeBSD netbook
Matthias Apitz | - No system with backdoors like Apple/Android
E-mail:
gu...@unixarea.de | - Never being an iSlave
WWW:
http://www.unixarea.de/ | - No proprietary attachments, no HTML/RTF in E-mail
phone:
+49-170-4527211 | - Respect for open standards
_______________________________________________
freebs...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "
freebsd-java...@freebsd.org"