Hi Mikhail,

So far as I know, only the socket obtained from SocketChannel returns 0
instead of -1.

If the socket is constructed directly, it returns -1 as spec says. Following
test passes against RI without any problem.

public void test_socket() throws IOException {
 Socket s = new Socket();
 assertFalse(s.isBound());
 assertEquals(-1, s.getLocalPort());
}

Thanks!

On 6/22/06, Mikhail Loenko <[EMAIL PROTECTED]> wrote:

Hi Andrew,

have you noticed, does RI return 0 for any unbound socket or
only for the sockets obtained from SocketChannel?

Thanks,
Mikhail

2006/6/22, Andrew Zhang <[EMAIL PROTECTED]>:
> Hi everybody,
>
> I found a bug of SocketChannel.socket() of RI.
>
> Consider following test case:
>
>    public void test_socket() throws IOException {
>        SocketChannel sc = SocketChannel.open();
>        Socket socket = sc.socket();
>        assertFalse(socket.isBound());
> // RI returns 0 instead of -1 here.
>        assertEquals(-1, socket.getLocalPort());
>    }
>
> RI 1.5 fails while Harmony passes.
>
> "returns the local port number to which this socket is bound or -1 if
the
> socket is not bound yet." That's how spec describes getLocalPort method.
>
> RI returns 0 for an unbound socket, violates spec apparently.
>
> How shall we deal with this bug to bug compatibility?
>
> Any suggestions? Thank you very much!
>
>
> --
> Andrew Zhang
> China Software Development Lab, IBM
>
>

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Andrew Zhang
China Software Development Lab, IBM

Reply via email to