fix: Telnet支持调整发送窗口大小

This commit is contained in:
TsMask
2024-04-16 19:51:23 +08:00
parent b050643714
commit 325baed56e
2 changed files with 17 additions and 2 deletions

View File

@@ -119,12 +119,16 @@ func (c *ConnTelnet) RunCMD(cmd string) (string, error) {
}
// NewClient 创建Telnet客户端会话对象
func (c *ConnTelnet) NewClientSession() (*TelnetClientSession, error) {
func (c *ConnTelnet) NewClientSession(cols, rows uint8) (*TelnetClientSession, error) {
if c.Client == nil {
return nil, fmt.Errorf("telnet client not connected")
}
conn := *c.Client
// 需要确保接收方理解并正确处理发送窗口大小设置命令
conn.Write([]byte{255, 251, 31}) // 发送窗口大小选项
conn.Write([]byte{255, 250, 31, 0, rows, 0, cols, 255, 240}) // 发送窗口行和列的大小
var buf bytes.Buffer
tmp := make([]byte, 1024)
// 排空连接登录的信息