国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

有什么方法可以使用java.nio。*在不關(guān)閉套接字的情況下中斷InputStream#read()?

瀏覽:136日期:2024-05-02 14:54:46
如何解決有什么方法可以使用java.nio。*在不關(guān)閉套接字的情況下中斷InputStream#read()??

如果在讀取過程中中斷了InterruptibleChannel,它將被關(guān)閉并拋出ClosedByInterruptException。如果您只想讀取超時(shí),請不要使用任何通道,而只需使用常規(guī)的Socket;用較短的超時(shí)調(diào)用Socket.setSoTimeout(),并在每次超時(shí)觸發(fā)時(shí)檢查線程的isInterrupted()狀態(tài)。更好的是,查看中斷線程的要求。那個(gè)有什么用途?

解決方法

您是否知道在InputStream不關(guān)閉關(guān)聯(lián)套接字的情況下中斷Java讀取的方法?

這是獲取套接字輸入流并轉(zhuǎn)換為可中斷的DataInputStream的當(dāng)前構(gòu)造策略:

InputStream interruptibleInputStream = Channels.newInputStream(Channels.newChannel(m_ConnectionData.getSocket().getInputStream()));DataInputStream myInterruptibleDIS = new DataInputStream(interruptibleInputStream);

這利用ReadableByteChannel提供了read(ByteBuffer)對ClosedByInterruptExceptionthrowable的支持的方法的a。

問題在于,在線程上調(diào)用中斷再在原因read()上調(diào)用DataInputStream會導(dǎo)致底層套接字被關(guān)閉。

就我而言,我需要使套接字保持打開狀態(tài)。該read呼叫正在等待即將到來的用戶輸入,因此我正在使用中斷將控制權(quán)傳遞回更高的組件,然后最終read再次返回。

如果有人可以提出一種使用JDK內(nèi)置類實(shí)現(xiàn)此目標(biāo)的方法,或者指出某些信息是不可能的,我將不勝感激。

我知道還有其他方法可以達(dá)到相同的效果,但是我很想知道這種方法是否可行。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 人人公开免费超级碰碰碰视频 | 日本www色视频成人免费网站 | 国产精选在线播放 | 亚洲综合第一页 | 欧美国产精品不卡在线观看 | 豆国产97在线 | 亚洲 | 亚洲国产精品久久久天堂 | 巨大热杵在腿间进进出出视频 | 一级香蕉免费毛片 | 成人国产在线不卡视频 | 久久91精品国产91久久小草 | 美女黄色免费在线观看 | 欧美视频免费一区二区三区 | 毛茸茸年轻成熟亚洲人 | 热99re久久精品2久久久 | 三级网站视频 | 精品亚洲视频在线 | 国产精品日本欧美一区二区 | 奇米影视7777久久精品 | 爱啪网亚洲第一福利网站 | 欧美特黄高清免费观看的 | 亚洲视频在线精品 | 久久久精品久久久久三级 | 日本一级在线播放线观看视频 | 女女同性一区二区三区四区 | 日韩中文在线观看 | 久久久久久久久久久福利观看 | 国产真实乱子伦精品 | 日韩三级欧美 | 中文字幕亚洲精品日韩精品 | 免费看特黄特黄欧美大片 | 国产日本韩国不卡在线视频 | a毛片免费播放全部完整 | 久草播放| 98国内自拍在线视频 | 国产午夜精品不卡观看 | 欧美另类色| 国产亚洲综合成人91精品 | 欧美视频免费一区二区三区 | av在线亚洲男人的天堂 | 欧美自拍另类 |