0
我有客戶端 - 服務器應用程序。我需要異步查看客戶端發送到服務器的方式並作出相應的反應。我只能訪問網絡流,因此如果我使用NetworkStream.Read(),我會丟失流中的數據。我試圖寫數據迴流,但我仍然無法訪問服務器端的流。從網絡流中讀取而不丟失數據
有什麼方法可以查看NetworkStream嗎?如果我沒有弄錯,通過使用套接字對象並調用接收方法是有辦法的。問題是NetworkStream中的套接字屬性受到保護,因此我無法使用它。我能以某種方式訪問這個特定的套接字嗎
謝謝你的幫助。
你的意思是你想偷看套接字的數據而不從流中移除它?有一個'Read(buff,0,length,MSG_PEEK);'這將返回數據而不從流中移除它。 –
情況看起來如下:客戶端發送請求到服務器,如果請求包含特定的消息,我需要偷看流。服務器應該收到請求後,我偷看流。問題是用戶發送請求,然後開始處理。在此期間可能會要求服務器停止處理,這就是爲什麼我需要以異步方式偵聽同一個流。我只能訪問流,而不是底層套接字。 – Divh
humm,我明白了。有些東西會調用與正常數據不同的緊急數據。恐怕您需要訪問套接字才能獲得緊急數據。當您看到緊急數據包時,表明您希望服務器停止處理。爲什麼你不能訪問底層套接字? –