微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CRLF 导致来自套接字的 read() 返回

如何解决CRLF 导致来自套接字的 read() 返回

我正在用 C++ 编写一个 HTTP 服务器,使用 TCP 套接字在客户端和服务器之间进行通信。

在使用 Linux 终端向服务器发送请求时,我注意到每次按 Enter 时,服务器上的 read() 都会返回(它读取到 {{1} } 并返回)。

这种行为“正常”吗?我没有在任何地方找到它。

编辑:我使用 telnet 作为客户端和阻塞读取/接收

解决方法

只要有数据可用,就会返回阻塞的 readrecv。如果您在在终端上用作客户端的任何内容(即 netcat、telnet 或类似的)上输入 Enter,它很可能(取决于实际客户端)直接发送此 \r\n到服务器,它将导致立即成功返回 read/recv

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。