[英]Reading a line from a socket
我正在编写一些代码,每当行以换行符或回车结尾时,我都需要从套接字中获取行。 该行应存储在缓冲区中。
n = recv(sock, &ch, 1, 0);
if (n > 0)
{
if (ch == '\r')
{
// do stuff
}
//
}
//
我在一段时间内使用了这样的代码,但没有任何提示我该怎么做。
编辑:我想从套接字读取一行并返回以进行解析。 对于每行读取,这应该发生。
这类似于最近题为“套接字上的获取线”的问题。
答案是您不应该这样做。 如果客户不发送下一行怎么办? 您的程序将挂起。
从您的代码段中,您似乎并没有检查错误代码。 这些将指示您的代码为何“不起作用”,并指示从何处开始查找问题。
1)也许您有回车/换行符?
2)也许ch溢出了?
3)也许您的流是二进制的,并且\\ r对非EOL有效?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.