簡體   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