亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

同一個Socket實例第二次無法接收服務端數據??!

同一個Socket實例第二次無法接收服務端數據!!

吃雞游戲 2018-12-26 16:14:15
服務端:創建了兩個線程來處理客戶端請求,一個線程用于接收連接進來的Socket,并將Socket添加到一個隊列Queue對象中;另外一個線程用于將Queue中的Socket提出來進行接收、發送操作,接收、發送操作采用異步方式。 客戶端:用連接到服務端的Socket創建一個NetworkStream的實例(NetworkStream stream = new NetworkStream(socket, true);),并將該NetworkStream的實例,包裝到一個System.IO.BufferedStream的實例中(/*用于接收*/Stream inStream = new BufferedStream(stream); /*用于發送*/Stream outStream = new BufferedStream(stream);)進行與服務端的數據收發。 然后我創建了一個連接池,初始化創建了10個服務端的連接,然后寫了一個單線程的測試程序,從連接池中將這10個連接依次取出來發送、接收數據,一切OK(將連接都還回了連接池),但當我再次從連接池取出一個連接(已用完10個創建的連接,這次是第二次取出的連接,在前面是已經使用過的)進行發送、接收數據時,測試程序無法接收到服務端的返回的數據。(不管在客戶端還是服務端,在發送/接收完數據后,我都沒有關閉連接) 從服務端的日志看,服務端是接收到了客戶端發來的數據的,并且服務端也成功將數據發送出去了,只是客戶端沒有接收到。 此問題困擾在下兩天了,望達人指教~
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

你的信息量太少,無法判斷你的問題。socket 做收發是肯定沒有問題的??隙ㄊ悄愠绦虻膯栴}。可能需要更多的代碼來判斷你的問題所在。

查看完整回答
反對 回復 2018-12-30
  • 2 回答
  • 0 關注
  • 397 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號