Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako preko socket-a poslati fajl

[es] :: Java :: Kako preko socket-a poslati fajl

[ Pregleda: 2382 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gewra
Ivan Djuric
Beograd

Član broj: 43205
Poruke: 31
*.249.EUnet.yu.



Profil

icon Kako preko socket-a poslati fajl18.12.2005. u 15:16 - pre 223 meseci
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!
 
Odgovor na temu

DeepInBrain
Aleksandar Demkovic
Software developer, DMS Group
Novi Sad

Član broj: 7360
Poruke: 45
..mtsns-ns.customer.sbb.co.yu.



Profil

icon Re: Kako preko socket-a poslati fajl18.12.2005. u 16:02 - pre 223 meseci
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 ;)
~ Demkovic ~
 
Odgovor na temu

gewra
Ivan Djuric
Beograd

Član broj: 43205
Poruke: 31
*.98.EUnet.yu.



Profil

icon Re: Kako preko socket-a poslati fajl19.12.2005. u 10:32 - pre 223 meseci
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...
 
Odgovor na temu

bgd2500

Član broj: 55912
Poruke: 226
82.117.193.*



+7 Profil

icon Re: Kako preko socket-a poslati fajl19.12.2005. u 15:38 - pre 223 meseci
Probaj da umesto Output/InputStream koristis BufferedOutput/InputStream.
 
Odgovor na temu

[es] :: Java :: Kako preko socket-a poslati fajl

[ Pregleda: 2382 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.