SecureCRT 是一款支持 SSH 协议的终端仿真程序,同时支持 Telnet 和 Rlogin 协议。它包含 Windows、Linux 和 MacOS 三个平台的版本,是上述三类操作系统连接远程服务器的理想工具。介于它丰富的个性化功能跟便捷的文件传输方式,被众多的 Windows 用户所青睐。SecureCRT 是一款收费软件,用户只能试用 30 天,虽然 SecureCRT 还提供了 Linux 跟 MacOS 版本,但由于这两类系统上的 scp、ssh 等命令差不多可以免费实现 SecureCRT 的相关功能, 所以并不受 Linux 跟 MacOS 用户青睐。 阅读全文
我们在编写网络通信程序的时候,不论作为服务端还是客户端,常常需要确保实时检测与对方的连接状态,调用select函数监控文件描述符(套接字)的连接状态是最普遍的方法,但是当遇到对方断电或者网络线路突然断开的情况,select函数将接收不到来自对方的断开消息,所以维护着这一连接的文件描述符(套接字)已经没有存在的意义,这个时候往该文件描述符(套接字)内写内容依然不会返回错误,read也会堵塞着并不返回错误。因此也无法断定该套接字是否还处于连接状态,我们可以通过开启TCP的keepAlive选项来让TCP连接自身维护自己的连接状态,详见《Linux下回收异常断开的TCP连接》,但是倘若要及时检测网络连通性,不得不频繁地发心跳包,势必会影响通信带宽,不是很理想。 阅读全文