[ gewra @ 18.12.2005. 15:16 ] @
Verovatno trivijalan problem, al' sad me bas mryi da kopam!
Dakle poruke se razmenjuju na standardan nacin:
PrintWriter out=new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
sock.getOutputStream())),true);
BufferedReader in=new BufferedReader(
new InputStreamReader(
sock.getInputStream()));
e sad interesuje me da li ovako mogu da se razmenjuju i fajlovi (otvorim tok fajla na serveru i bacim ga na klijenta), i kako?
Pozdrav ivan!
[ DeepInBrain @ 18.12.2005. 16:02 ] @
Reader i Writer prenose 16bit, Stream 8bit.
Dakle, koristi Stream za prenos fajlova.
Poslacu ti kasnije code, ako budem imao vremena, sad nemam.
Ali pokusaj sam da nadjes, tako se najbolje uci ;)
[ gewra @ 19.12.2005. 10:32 ] @
Elem rersio sam problem, al' je dosta sporo:
Server:
FileInputStream input=new FileInputStream("C:\\ivan.txt");
OutputStream output=sock.getOutputStream();
byte[] nextBytes=new byte[sock.getSendBufferSize()];
int bytesRead=0;
while((bytesRead=input.read(nextBytes))>0){
output.write(nextBytes,0,bytesRead);
}

Klijent:
FileOutputStream output=new FileOutputStream(novi);
byte [] outBuffer=new byte[sock.getReceiveBufferSize()];
System.out.println(outBuffer.length);
InputStream input=sock.getInputStream();
int byteReceived=0;
while ((byteReceived=input.read(outBuffer))>0){
output.write(outBuffer,0,byteReceived);
}
bitno je da velicina outBuffer bude manja od velicine fajla, u suprotnom ne radi...
Mana je sto je ova varijanta spora.
Jel zna neko dal' ovo moze da se izvede preko kanala soketa, i dal je brze...
[ bgd2500 @ 19.12.2005. 15:38 ] @
Probaj da umesto Output/InputStream koristis BufferedOutput/InputStream.