Új hozzászólás Aktív témák
-
smallmer
őstag
válasz
sztanozs #10150 üzenetére
Köszönöm, de sajnos így sem megy át semmi, viszont most a neten találtam egy másik módszert:
Server:
package serverkliens;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class FileServer extends Thread {
private ServerSocket ss;
public FileServer(int port) {
try {
ss = new ServerSocket(port);
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
while (true) {
try {
Socket clientSock = ss.accept();
saveFile(clientSock);
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void saveFile(Socket clientSock) throws IOException {
DataInputStream dis = new DataInputStream(clientSock.getInputStream());
FileOutputStream fos = new FileOutputStream("F:/zene.mp3");
byte[] buffer = new byte[12 * 4096];
int filesize = 15123; // Send file size in separate msg
int read = 0;
int totalRead = 0;
int remaining = filesize;
while((read = dis.read(buffer, 0, Math.min(buffer.length, remaining))) > 0) {
totalRead += read;
remaining -= read;
System.out.println("read " + totalRead + " bytes.");
fos.write(buffer, 0, read);
}
fos.close();
dis.close();
}
public static void main(String[] args) {
FileServer fs = new FileServer(1988);
fs.start();
}
}Kliens:
package serverkliens;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
public class FileClient {
private Socket s;
public FileClient(String host, int port, String file) {
try {
s = new Socket(host, port);
sendFile(file);
} catch (Exception e) {
e.printStackTrace();
}
}
public void sendFile(String file) throws IOException {
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[12 * 4096];
int read;
while ((read = fis.read(buffer)) > 0) {
dos.write(buffer, 0, read);
}
fis.close();
dos.close();
}
public static void main(String[] args) {
FileClient fc = new FileClient("localhost", 1988, "/Users/Valaki/Music/Zene/Aya Nakamura - Copines.mp3");
}
}Itt már jól működik a fájlátvitel mondjuk txt fájl esetén, viszont amint mp3-at adok meg neki akkor kb 15kb-ot átvisz és kapok egy ilyen üzenetet:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)Ebben látsz valami hibát ?
mi lehet a gondja?
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- ASUS ROG Zephyrus G14, kiváló állapot OLED 3K, Ryzen 9, RTX 4060, 1TB, 16GB, HU, 1+ év Garancia
- GoPro Hero 13 HB-sorozatú moduláris objektívkészlet - Anamorf, Makró, Ultra széles + 4db-os szűrő
- Ottocast N71C Apple Carplay / Android Auto
- Samsung Odyssey G5 27" (1440p, 144Hz, 1ms)
- Fanatec GT DD Pro (8Nm) + Mclaren GT3 v2 + QR2 csatlakozók (Kifogástalan állapot!)
- Apple iPhone 15 Pro 256GB,Dobozával,12 hónap garanciával
- HIBÁTLAN iPhone 15 Pro 256GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3507
- HIBÁTLAN iPhone 14 256GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3535
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14400F 16/32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest