jQuery in Action, 3rd edition
The moose likes Other Application Frameworks and the fly likes telnet client timeout using BufferedInputStream Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Other Application Frameworks
Bookmark "telnet client timeout using BufferedInputStream" Watch "telnet client timeout using BufferedInputStream" New topic

telnet client timeout using BufferedInputStream

terry Kiernan
Ranch Hand

Joined: Aug 23, 2008
Posts: 31
I have a case where by i am using BufferedInputStream I am waiting for the response I have sent within the telnet session.
If the response is what I expect all is fine, However if the response is not what the application expects the session hangs and won't time out ...
This is my code i have below: can you spot something why this piece of code will not time out when it has finished reading the number of bytes and hasn't found the matchString. ?
Your help much appreciated !

WaitResponse waitingFor(String[] tokens, long timeout) throws IOException {
long start = System.currentTimeMillis();
long deadline = start + timeout;

StringBuffer response = new StringBuffer();
String matchingToken = null;
for (; null == matchingToken; matchingToken = match(response, tokens)) {
int charread = 0;
while ((charread = is.read(mB, 0, mB.length)) <= 0) {
long now = System.currentTimeMillis();
if (now > deadline) {
throw new IOTimeoutException(TimedOut);
try {
} catch (InterruptedException ignored) {
String mS = new String(mB, 0, charread);

return new WaitResponse(response.toString(), matchString);
[ December 08, 2008: Message edited by: terry Kiernan ]
I agree. Here's the link: http://aspose.com/file-tools
subject: telnet client timeout using BufferedInputStream
It's not a secret anymore!