我正在写一些代码,每当行以换行符或回车符结尾时,我需要从套接字获取一行。这条线应该放在缓冲器里。

 n = recv(sock, &ch, 1, 0);
  if (n > 0)
  {
   if (ch == '\r')
   {
       // do stuff
   }
     //
  }
   //

我正在使用这样的代码在一段时间内,但它没有任何线索,我怎么能做到这一点。
编辑:我希望从套接字读取一行并返回解析。每读一行这应该是笔。

最佳答案

这与最近题为“getline over a socket”的问题类似。
答案是你不应该这样做。如果客户不发送下一行,会发生什么情况?你的程序将挂起。
从代码片段中,您似乎没有检查错误代码。这将表明为什么您的代码是“不工作”的,并指出从哪里开始寻找问题。

10-05 22:50