Ú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?:))
- Toshiba KIOXIA XG8 4TB M.2 Gen4 SSD (7,000 MB/s and 5,800 MB/s)
- KIÁRUSÍTÁS - HP Elite / ZBook Thunderbolt 3 Dock (akár 2x4K felbontás)
- MacBook Pro 14" 2023 M3 / 8GB / 1TB SSD asztroszürke
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
- AKCIÓ! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10750H 16GB DDR4 256GB SSD Quadro T1000 W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

