Ich möchte mehr als eine Bilddatei von Client zu Server für diesen senden Ich schreibe den Code in meiner Anwendung, aber es wird nur ein Bild senden. In der Client-Anwendung ist ein Frame vorhanden und in der Server-Anwendung gibt es auch einen Frame zum Starten/Stoppen des Servers.Java: sende mehr als eine Bilddatei von Client zu Server mit Socket
Ein weiteres Problem ist, wenn Client-Anwendung die Bilddatei dann diese Bilddatei auf dem Server-Computer angezeigt, aber wenn ich versuche, diese Bilddatei zu öffnen, dann ist nichts da, aber wenn ich Server-Anwendung schließen (Server-Frame) dann bin ich kann das Bild sehen.
Code:
Client-Seite:
public void sendPhotoToServer(String str){ // str is image location
try {
InputStream input = new FileInputStream(str);
byte[] buffer=new byte[1024];
int readData;
while((readData=input.read(buffer))!=-1){
dos.write(buffer,0,readData); // dos is DataOutputStream
}
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
In Serverseite dieser Code in Thread ausgeführt wird:
public void run() {
while (true) {
try {
byte[] buffer = new byte[8192];
fis = new FileOutputStream("C:\\"+(s1++)+".jpg"); // fis is FileOutputStream
while ((count = in.read(buffer)) > 0){ //count is a integer and 'in' is InputStream
fis.write(buffer, 0, count);
fis.flush();
}
} catch (Exception e) {}
}
}
Problem:
- einzige 1. Bild kopiert, was vom Client gesendet wird.
- Ich kann dieses Bild nur sehen, wenn ich die Serveranwendung schließe.
keine Ausnahme gibt es, und ich rufe sendPhotoToServer Verfahren in anderer Klasse nacheinander als alle die Bilddatei zu senden:
if (photoSourcePath != null) {
clientClass.sendPhotoToServer(photoSourcePath+"\\"+rowData.get(5));
}
Sie alle Ausnahmen erhalten Sie? Und wie nennt man 'sendPhotoToServer'? –
keine Ausnahme there.In andere Java-Klasse Ich nenne diese sendPhotoToServe Methode wie: if (! PhotoSourcePath = null) { \t \t \t \t \t \t \t \t clientClass.sendPhotoToServer (photoSourcePath + "\\" + rowData.get (5)); \t \t \t \t \t \t \t} –
Da Sie Ausnahme ohne etwas zu tun zu fangen, sind Sie sicher? Und nennst du 'sendPhotoToServer' in einer Schleife? Bearbeiten Sie außerdem die Frage, um den entsprechenden Code hinzuzufügen, und fügen Sie ihn nicht in einen Kommentar ein. –