Li Fangning created SSHD-722:
--------------------------------

             Summary: Failed to setting SO_KEEPALIVE option for sshd server 
socket
                 Key: SSHD-722
                 URL: https://issues.apache.org/jira/browse/SSHD-722
             Project: MINA SSHD
          Issue Type: Bug
    Affects Versions: 1.3.0
            Reporter: Li Fangning
            Priority: Minor


Use the following code to set the SO_KEEPALIVE property:
  PropertyResolverUtils.updateProperty(sshd, SshServer.SOCKET_KEEPALIVE, true)
I get the error message: Unsupported socket option (SO_KEEPALIVE) to set ......

After I check the code in org.apache.sshd.common.io.nio2.Nio2Acceptor#bind(), I 
found that the SO_KEEPALIVE option is set on the 
AsynchronousServerSocketChannel, i.e. a listening socket which can only accept 
new incoming connections and not exchange data. The socket option is not 
applicable to a listening socket. 
(https://docs.oracle.com/javase/8/docs/api/java/nio/channels/AsynchronousServerSocketChannel.html)

Whether this code can be changed to the 
org.apache.sshd.common.io.nio2.Nio2Acceptor$AcceptCompletionHandler#onCompleted(),
 and set the options on the AsynchronousSocketChannel object?

SO_SENDBUF, TCP_NODELAY options have the same issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to