Új hozzászólás Aktív témák
-
nro
újonc
Sziasztok!
Olyan problémám, hogy egy elosztott rendszert írok és valamiért nem működik a fájlletöltés után a szöveg küldése.
Az üzenetek küldésére Scannert és PrintWritert használok, míg a fájlküldéshez BufferedInputStream-et és BufferedOutputStreamet.
Itt a szerver kódja (in a Scanner, out a PrintWriter):
File file = new File(in.nextLine());
BufferedOutputStream bos = new BufferedOutputStream(myClientSocket.getOutputStream());
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
int n = -1;
byte[] buffer = new byte[8192];
while ((n = bis.read(buffer)) > -1) {
bos.write(buffer, 0, n);
}
bis.close();
bos.flush();
bos.close();
out.println("Hello");Itt a kliens kódja (out a PrintWriter, in a Scanner):
out.println(fileName);
out.flush();
try {
BufferedInputStream bis = new BufferedInputStream(requestSocket.getInputStream());
FileOutputStream fos = new FileOutputStream(fileName);
int n;
byte[] buffer = new byte[8192];
while ((n = bis.read(buffer)) > 0) {
fos.write(buffer, 0, n);
}
fos.flush();
fos.close();
System.out.println(in.nextLine());
} catch (IOException ex) {
System.err.println(ex);
}Ha nem zárom be a BufferedOutputStreamet, akkor nem "menti le".
A vágyam az az lenne, ha miután lementem a fájlt ugyanazon a porton keresztül tudjak további üzenetek küldeni PrintWriterrel és Scannerrel.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 512GB SSD GTX 1660 Super 6GB Kolink Rocket Heavy 450W
- Xbox Game Pass Ultimate előfizetések kedvező áron
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS4486, 100% Akkumulátor
- Apple iPhone 12 Mini 64GB,Használt,Adatkabel,12 hónap garanciával
- iPhone 14 Pro 256GB 100% (1év Garancia)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

