关于webssh的实现

webssh的关键点:

  1. 选择websocket协议,http不适合
  2. webssh server端需要能:
    1. select websocket的输入,一旦有输入,就转发到ssh server
    2. select ssh server的输出,一旦有输出,就转发到websocket
    3. 要实现上面两点:
      1. 要么自己实现websocket server,因为:
        1. select websocket的输入是websocket server的事情,而select ssh server 的输出是应用逻辑的事情,无法在同一个select上检查这两个fd的事件
      2. 要么websocket server端语言支持多线程
    4. 对于PHP语言,我们实现自己的websocket server比较麻烦,同时,PHP也不支持多线程,所以PHP实现webssh很难
    5. 对于Python语言,因为Python支持多线程,所以,这事儿就好办,jumpserver里面的webssh就是通过多线程实现的

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据