1.修改bug

This commit is contained in:
JianGuo 2024-06-14 15:12:53 +08:00
parent 34699ff89d
commit 9567c1defe
4 changed files with 26 additions and 5 deletions

View File

@ -10,6 +10,8 @@ public class FilePacket extends Packet {
File file; File file;
long fileLength;
int ACK; int ACK;
@Override @Override
@ -22,10 +24,12 @@ public class FilePacket extends Packet {
public FilePacket(File file) { public FilePacket(File file) {
this.file = file; this.file = file;
this.fileLength = file.length();
} }
public FilePacket(File file, int ACK) { public FilePacket(File file, int ACK) {
this.file = file; this.file = file;
this.fileLength = file.length();
this.ACK = ACK; this.ACK = ACK;
} }
@ -44,4 +48,12 @@ public class FilePacket extends Packet {
public void setACK(int ACK) { public void setACK(int ACK) {
this.ACK = ACK; this.ACK = ACK;
} }
public long getFileLength() {
return fileLength;
}
public void setFileLength(long fileLength) {
this.fileLength = fileLength;
}
} }

View File

@ -27,6 +27,14 @@ public class LoginPacket extends Packet {
boolean exec = false; boolean exec = false;
public void flush() {
this.exec = false;
this.fileName = null;
this.fileLength = 0;
this.readLength = 0;
this.fileOutputStream = null;
}
@Override @Override
public Byte getCommand() { public Byte getCommand() {
return LOGIN_PACKET_REQUEST; return LOGIN_PACKET_REQUEST;

View File

@ -25,8 +25,8 @@ public class FilePacketServerHandler extends SimpleChannelInboundHandler<FilePac
} }
loginPacket.setExec(true); loginPacket.setExec(true);
loginPacket.setFileName(file.getName()); loginPacket.setFileName(file.getName());
loginPacket.setFileLength(file.length()); loginPacket.setFileLength(packet.getFileLength());
loginPacket.setFileOutputStream(new FileOutputStream(new File("./server-receive-" + file.getName()))); loginPacket.setFileOutputStream(new FileOutputStream(new File("c:/temp/server-receive-" + file.getName())));
// FileReceiveServerHandler.fileLength = file.length(); // FileReceiveServerHandler.fileLength = file.length();
// FileReceiveServerHandler.outputStream = new FileOutputStream( // FileReceiveServerHandler.outputStream = new FileOutputStream(
// new File("./server-receive-" + file.getName()) // new File("./server-receive-" + file.getName())

View File

@ -53,9 +53,10 @@ public class FileReceiveServerHandler extends ChannelInboundHandlerAdapter {
private void sendComplete(LoginPacket loginPacket) throws IOException { private void sendComplete(LoginPacket loginPacket) throws IOException {
if (loginPacket.getReadLength() >= loginPacket.getFileLength()) { if (loginPacket.getReadLength() >= loginPacket.getFileLength()) {
log.info("文件接收完成..."); log.info("文件接收完成...");
loginPacket.setExec(false); if(loginPacket.getFileOutputStream() != null){
loginPacket.setReadLength(0); loginPacket.getFileOutputStream().close();
loginPacket.getFileOutputStream().close(); }
loginPacket.flush();
} }
} }