我想以某种方式检查ssh隧道是否已连接,并且可以将其与IMAP组件一起使用。
我在这里创建隧道:
tunnel := chilkat.NewSocket()
tunnel.SshOpenTunnel("ip", 22)
tunnel.SshAuthenticatePw("username", "password")
在某种程度上,我想检查它是否仍然打开。
为了模拟闭合连接,我关闭了网络电缆,并使用以下方法进行了检查:
imap.UseSshTunnel(tunnel)
和
tunnel.IsConnected()
但是都返回了真。
我该如何检查?
以下是chilkat的HeartbeatMs属性
property :心跳
定期心跳回调之间进行阻塞的毫秒数
套接字操作(连接,接受,dns查询,发送,接收)。将此设置为0至
禁用心跳事件。默认值为1000(即1个心跳回调
每秒)。
最佳答案
将读取超时设置为非零
将NOOP命令发送到imap服务器
检查读取是否成功,或者是否有错误或超时
关于sockets - 如何检查ssh隧道是否处于事件状态并已连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60605370/