繁体   English   中英

从套接字读取线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM