假設客戶端通過我的應用程序向服務器發送了一些數據報。如果我的服務器端應用程序停止工作並且無法接收任何數據報,但客戶端仍然繼續通過UDP協議向服務器發送更多數據包,那麼這些數據包將在哪裏進行?他們會留在服務器的操作系統數據緩衝區(或什麼?)如果客戶端不偵聽UDP端口,數據報是哪裏?
我問這個問題,因爲我想知道,如果客戶端通過互聯網向PC發送1000個數據報(每個1K),將這1000個數據報去通過互聯網(消耗帶寬),即使沒有人在聽這些數據?
如果答案是肯定的,我應該如何阻止這種情況發生?我的意思是如果服務器停止運行,我應該如何使用UDP來了解事實並停止進一步的發送?
感謝
感謝您的回覆。所以,如果服務器在互聯網上什麼也不運行,並且我使用udpclient發送,比如說100MB的數據,服務器上的操作系統仍然會收到它?而且我仍然會消耗100MB的數據帶給服務器? – Jack 2010-02-22 14:40:16
是的,除非你有一些介於兩者之間的東西。這是生成拒絕服務的一種方法... – jldupont 2010-02-22 14:42:54
謝謝。因此,如果我真的發送UDP數據100MB到某個服務器,如果該服務器的操作系統檢測到發送,並且服務器中沒有人收到它,它會生成DoS? – Jack 2010-02-22 15:04:27