永发信息网

如何防止挂在socketinputstream.socketread0在java

答案:2  悬赏:80  手机版
解决时间 2021-01-03 00:23
  • 提问者网友:沉默菋噵
  • 2021-01-02 01:59
如何防止挂在socketinputstream.socketread0在java
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-01-02 02:17
Read timed out是指读超时, this.tcpClient.getInputStream();,这个读取到了流,但是对端迟迟没有发送相应,导致读超时。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-01-02 02:54
s 和 bis 是在 try{} 语句块中定义的,因此只能在 try{} 语句块中访问,finally{} 语句块已经超出了 s 和 bis 的范围,所以不能关闭。 你将 s 和 bis 放到 try 外部,例如: socket s = null; bufferedreader bis = null; try{    s = new socket();    bis = new .... }这样就可以在 finally 中关闭了。 另外,如果你使用了 java 7 或之后的版本,可以将资源放到 try 中,例如 try(socket s = new...;bufferedreader bis = new...;){ }这样就可以不用写 finally 语句,jdk 会自动关闭资源。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯