# S3 - shell

shell功能的主要流程如下：

![流程图](https://320335683-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Kbil6lSPUfaSJP7cz6%2Fuploads%2FTVmS7FXNzWgTuBON5LOE%2Fshell.main.drawio.png?alt=media\&token=15612f76-1faa-4b38-beec-8cd6eb6e8d5c)

1. 当用户点击终端页面的连接按钮后，会调用`/new`接口创建一个到远端的连接
2. 在`/new`接口中会优先发送一个connect\_req消息来创建一个shell的连接
3. 等待远端返回connect\_rep消息，若连接创建成功则返回该链接的ID
4. 创建`/ws/<linkid>`的websocket连接
5. 调用`/resize`接口调整pty设备的大小
6. 开始转发数据
