diff options
author | Kenny Root <kenny@the-b.org> | 2009-06-16 05:45:51 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-06-16 05:45:51 +0000 |
commit | 8af5aff550d4749d860618d09568c25898d1161a (patch) | |
tree | 3f474ef97c229ddead410f50a297d0e4fc4885bb /src | |
parent | c4c00813d713c7e431b01fb522087fbac22cdf56 (diff) | |
download | connectbot-8af5aff550d4749d860618d09568c25898d1161a.tar.gz connectbot-8af5aff550d4749d860618d09568c25898d1161a.tar.bz2 connectbot-8af5aff550d4749d860618d09568c25898d1161a.zip |
Detect SocketExceptions when communicating via Telnet
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@309 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/transport/Telnet.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/org/connectbot/transport/Telnet.java b/src/org/connectbot/transport/Telnet.java index 597ac1b..613e1de 100644 --- a/src/org/connectbot/transport/Telnet.java +++ b/src/org/connectbot/transport/Telnet.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.net.UnknownHostException; import java.util.Map; import java.util.regex.Matcher; @@ -89,7 +90,8 @@ public class Telnet extends AbsTransport { /** write data to our back end */ @Override public void write(byte[] b) throws IOException { - os.write(b); + if (os != null) + os.write(b); } /** sent on IAC EOR (prompt terminator for remote access systems). */ @@ -193,14 +195,22 @@ public class Telnet extends AbsTransport { @Override public void write(byte[] buffer) throws IOException { - if (os != null) - os.write(buffer); + try { + if (os != null) + os.write(buffer); + } catch (SocketException e) { + bridge.dispatchDisconnect(false); + } } @Override public void write(int c) throws IOException { - if (os != null) - os.write(c); + try { + if (os != null) + os.write(c); + } catch (SocketException e) { + bridge.dispatchDisconnect(false); + } } @Override |