Skip to content

Commit 48d8bf5

Browse files
committed
Bug in server receive (wip tomorrow)
1 parent 157aba6 commit 48d8bf5

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/Model/Server.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ private void processHeader(Socket clientSocket, String header) throws ServerRunT
198198

199199
this.totalFileSize = Long.parseLong(headerInfo.nextLine());
200200
generalFileName = headerInfo.nextLine();
201+
System.out.println(header);
201202

202203
this.notifyAddToTransferenceObservers(generalFileName, src_addr);
203204
while(headerInfo.hasNextLine()){
@@ -238,6 +239,7 @@ else if(fileInfo.charAt(0) == 'F'){ //File
238239

239240
private void receiveFile(Socket clientSocket, String filePath, Long fileSize) throws ServerRunTimeException{
240241
try{
242+
System.out.println(filePath + " " + fileSize);
241243
filePath.replace("\\", "\\\\");
242244
this.output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File(filePath))));
243245

@@ -249,20 +251,24 @@ private void receiveFile(Socket clientSocket, String filePath, Long fileSize) th
249251
integerMaxValueExceeded = false;
250252
}
251253

252-
int bytesReaded;
254+
int bytesReaded = 0;
253255
long totalBytesReaded = 0;
256+
// EL problema está en que nunca se decrementa dentro la variable integerFilesize por lo que se lanza con valor fileSize hasta que chupa todo el buffer
254257
while(integerFileSizeValue > 0 && (bytesReaded = this.input.read(this.buffer, 0, Math.min(this.BUFFERSIZE, integerFileSizeValue))) >= 0){
255258
this.output.write(this.buffer, 0, bytesReaded);
256259
this.output.flush();
260+
//System.out.println(bytesReaded);
257261
fileSize -= bytesReaded;
258262

259263
totalBytesReaded += bytesReaded;
260264
if(integerMaxValueExceeded && fileSize < Integer.MAX_VALUE){
261265
integerFileSizeValue = Math.toIntExact(fileSize);
262266
integerMaxValueExceeded = false;
263267
}
268+
System.out.println(filePath + " " +integerFileSizeValue);
264269
this.notifyUpdateToTransferenceObservers(this.getProgress(totalBytesReaded), clientSocket.getInetAddress().toString().substring(1));
265270
}
271+
//System.out.println(bytesReaded);
266272
}
267273
catch(FileNotFoundException e){
268274
this.notifyRemoveToTransferenceObservers(clientSocket.getInetAddress().toString().substring(1));

src/View/Hosts/HostsPanel.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,11 @@ private void enableHostOptions(String address, boolean enable){
154154
}
155155

156156
public void addressOnTransfer(String address){
157-
System.out.println("Añadiendo " + address);
158157
this.addressOnTransference.add(address);
159158
this.enableHostOptions(address, false);
160159
}
161160

162161
public void addressNotOnTransfer(String address){
163-
System.out.println("Quitando " + address);
164162
this.addressOnTransference.remove(address);
165163
this.enableHostOptions(address, true);
166164
}

0 commit comments

Comments
 (0)