Before returning service available, make sure port is connectable

`PermissionError` is added in 3.3.