连接此通道的套接字。
如果此通道处于非阻塞模式,则调用此方法会发起一个非阻塞连接操作。如果立即建立连接(使用本地连接时就是如此),则此方法返回 true。否则此方法返回 false,并且必须在以后通过调用 finishconnect
方法来完成该连接操作。
如果此通道处于阻塞模式,则在建立连接或发生 i/o 错误之前将阻塞此方法的调用。
此方法执行与 socket
类完全相同的安全检查。也就是说,如果已安装了安全管理器,则此方法验证其 checkconnect
方法是否允许连接到给定远程端点的地址和端口号。
可在任意时间调用此方法。如果正在调用此方法时在此通道上调用读取或写入操作,则在此调用完成前将首先阻塞该操作。如果试图发起连接但失败了,也就是说如果调用此方法抛出经过检查的异常,则关闭此通道。
- 参数:
remote
- 与此通道连接的远程地址
- 返回:
- 如果已建立连接,则返回 true,如果此通道处于非阻塞模式并且正在进行连接操作,则返回 false
- 抛出:
alreadyconnectedexception
- 如果已连接此通道
connectionpendingexception
- 如果已在此通道上进行非阻塞连接操作
closedchannelexception
- 如果此通道已关闭
asynchronouscloseexception
- 如果正在进行连接操作时另一个线程关闭了此通道
closedbyinterruptexception
- 如果正在进行连接操作时另一个线程中断了当前线程,因此关闭了该通道并将当前线程设置为中断状态
unresolvedaddressexception
- 如果没有完全解析给定的远程地址
unsupportedaddresstypeexception
- 如果不支持给定的远程地址类型
securityexception
- 如果已安装安全管理器并且它不允许对给定远程端点进行访问
ioexception
- 如果发生其他 i/o 错误