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