【发布时间】:2017-02-25 06:38:30
【问题描述】:
我正在尝试使用 C++ 和 QT 作为 GUI 来实现 Telnet 客户端。 我不知道如何处理 telnet 协商。 每个 telnet 命令前面都有 IAC,例如
IAC 将不支持_GO_AHEAD
以下是我处理谈判的方式。
- 在接收的缓冲区中搜索 IAC 字符
- 根据命令和选项,响应请求
我的问题描述如下:
- 在发送协商命令后,telnet 服务器似乎不会等待客户端响应。
例如(发送两个或多个命令而不等待客户端响应)
IAC 将不支持_GO_AHEAD
IAC 会回声
我应该如何处理这种情况?处理两个请求还是只处理最后一个?
- 如果我不响应请求,选项值是什么?它们是否设置为默认值?
- 为什么 IAC 字符 (255) 不会被视为数据而不是命令?
【问题讨论】: