私はアプリケーションでコードを書きますが、複数の画像ファイルをクライアントからサーバーに送信します。 クライアントアプリケーションには1つのフレームがあり、サーバーアプリケーションにはサーバーを開始/停止するフレームもあります。Java:ソケットを使用してクライアントからサーバーに複数の画像ファイルを送信
もう1つの問題は、クライアントアプリケーションが画像ファイルを送信した後、この画像ファイルをサーバーコンピュータに表示したときですが、この画像ファイルを開こうとすると何もありませんが、サーバーアプリケーション(サーバーフレーム)画像を見ることができます。
コード:
クライアントサイト:
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) {}
}
}
問題:のみ
- サーバ側で
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) { } }
このコードはスレッドに実行されています第1の画像は、クライアントによって送信されるコピーである。
- サーバーアプリケーションを閉じるときにのみ、このImageを見ることができます。
例外がないと私は連続して、他のクラスのsendPhotoToServer方法として、すべての画像ファイルを送信するために呼び出す:
if (photoSourcePath != null) {
clientClass.sendPhotoToServer(photoSourcePath+"\\"+rowData.get(5));
}
あなたが任意の例外を得るのですか?そして 'sendPhotoToServer'をどのように呼びますか? clientClass.sendPhotoToServer(photoSourcePath + "\\" + rowData.get(5) \t \t \t \t \t \t \t \t {(photoSourcePath = nullを!)の場合: –
例外がthere.In他のJavaクラスである私は、このsendPhotoToServeメソッドを呼び出します); \t \t \t \t \t –
何もせずに例外を捕まえるので、本当ですか?そして 'sendPhotoToServer'をループで呼びますか?また、質問を編集して関連コードを追加し、コメントには入れないでください。 –