Ú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?:))
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
- AKCIÓ! HP Victus 16-R1002NF Gamer notebook - i7 14700HX 16GB RAM 1TB SSD RTX 4070 8GB WIN11
- ViewSonic VG700b monitor 17" 1280 1024 DSUB, DVI, beépített hangszórókkal
- MikroTik CCR1009-7G-1C-1S+ Cloud Router
- Bomba ár! Lenovo ThinkPad T490s - i7-8GEN I 16GB I 256SSD I 14" WQHD HDR I Cam I W11 I Gari!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged