DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=32859>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=32859 Summary: TFTPClient's send file discards last ack Product: Commons Version: 1.3 Final Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Net AssignedTo: commons-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] TFTPClient reads all acks just fine except the last-one when sending a file. I figured this out when I tried to use the same TFTPClient-instance for something else (reading a file) after sending a file. This ack was next in the buffer and some exception was thrown (don't remember which anymore). I fixed this for myself using a flag (lastAckWait). Here is a the result of diff-command: diff -u TFTPClient.java.original TFTPClient.java.patched --- TFTPClient.java.original 2004-12-28 15:02:37.235997984 +0200 +++ TFTPClient.java.patched 2004-12-28 15:09:14.516602152 +0200 @@ -372,6 +372,7 @@ dataLength = lastBlock = hostPort = bytesRead = 0; block = 0; + boolean lastAckWait = false; if (mode == TFTP.ASCII_MODE) input = new ToNetASCIIInputStream(input); @@ -455,7 +456,10 @@ if (lastBlock == block) { ++block; - break _receivePacket; + if (lastAckWait) + break _sendPacket; + else + break _receivePacket; } else { @@ -501,9 +505,8 @@ data.setData(_sendBuffer, 4, offset - 4); sent = data; } - while (dataLength == 0); + while (dataLength == 0 || lastAckWait); - bufferedSend(sent); endBufferedOps(); } By the way we have implemented a TFTP server also (heavily unit-tested). I could try to contribute it back if it fits in commons net. There was some talk in the web-pages of doing only client-side stuff for commons-net. -Perttu -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]