我在循環中使用recv
函數接收網絡數據,但我們假設我想停止接收數據中間循環。我可以打破這個循環,但這似乎不是一種非常乾淨的方式來停止接收數據。我應該如何幹淨地擺脫recv循環?
那麼有什麼辦法可以乾淨地停止接收數據,或者只是打破循環好嗎?這是HTTP GET/POST請求。
這裏的simplifed我使用:
do {
nDataLen = recv(mySocket, data, BUFFSIZE, 0);
if (nDataLen > 0)
{
/* Process Data */
// I'd like to break out of the loop
// if something is found when processing the data
// But, I want to do this cleanly.
}
} while (nDataLen != 0);
我們可以看到您使用的代碼嗎? –
「停止接收數據」是什麼意思? recv允許您從已收到的網絡緩衝區中提取數據,或等待收到一些數據。如果你沒有調用recv,那並不意味着數據沒有被接收到。它仍然會進入系統緩衝區。 –
@VaughnCato它會傷害任何東西,只是打破循環?如果數據在某個系統緩衝區中,它會在那裏停留多久? – Josh