mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trustin Lee (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (DIRMINA-266) SocketAcceptor.bind() requires address != null and port != 0... why? Also can get to ServerSocketChannel.socket().getLocalSocketAddress()
Date Tue, 24 Oct 2006 03:53:17 GMT
     [ http://issues.apache.org/jira/browse/DIRMINA-266?page=all ]

Trustin Lee resolved DIRMINA-266.
---------------------------------

    Fix Version/s: 1.0.1
                   1.1
       Resolution: Fixed
         Assignee: Trustin Lee

Done.  The fix has been applied to 1.0.1 and 1.1.  Please close this issue if you find this
bug is gone.

> SocketAcceptor.bind() requires address != null and port != 0... why? Also can get to
ServerSocketChannel.socket().getLocalSocketAddress()
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-266
>                 URL: http://issues.apache.org/jira/browse/DIRMINA-266
>             Project: Directory MINA
>          Issue Type: Bug
>    Affects Versions: 0.9.5
>            Reporter: Michael Newcomb
>         Assigned To: Trustin Lee
>             Fix For: 1.0.1, 1.1
>
>
> public void bind( SocketAddress address, IoHandler handler, IoServiceConfig config )
throws IOException
> {
>   // if( address == null )
>   // {
>   //     throw new NullPointerException( "address" );
>   // }
>   if( handler == null )
>   {
>       throw new NullPointerException( "handler" );
>   }
>   if( address != null &&  !( address instanceof InetSocketAddress ) )
>   {
>       throw new IllegalArgumentException( "Unexpected address type: " + address.getClass()
);
>   }
>   // if( ( ( InetSocketAddress ) address ).getPort() == 0 )
>   // {
>   //     throw new IllegalArgumentException( "Unsupported port number: 0" );
>   // }
>  ...
> Also, you need to fix the physical binding and registration in the channels map:
> // and bind.
> ssc.socket().bind( req.address, cfg.getBacklog() );
> // assign what was actually bound
> //
> req.address = ssc.socket().getLocalSocketAddress();
> ssc.register( selector, SelectionKey.OP_ACCEPT, req );
> I am by no means a networking genius, but is there a reason why this type of use is not
allowed?
> Also, if assigning the SocketAddress at bind is used, there needs to be a way for you
to get the local socket address from the IoSession api.
> Thanks,
> Michael

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message