みなさん、こんにちは。クライアントがサーバーからファイルをダウンロードできるように、Java でサーバー クライアント プログラムを実装しました。
しかし、問題は、ファイルをダウンロードする前に、クライアントとサーバーの間でいくつかのメッセージ (文字列) を交換したいということです。Java で文字列を交換するために使用したものはすべて、それらの間で文字列を交換できましたが、ファイルが適切にダウンロードされませんでした。どうしてか分かりません。
ファイルをダウンロードするためのクライアント コード:
byte[] b = new byte[1024];
int len = 0;
long bytcount = 1024;
File fp = new File("/home/luv/Desktop/LUVSAXENA_IT.docx");
RandomAccessFile ra=new RandomAccessFile(fp,"rw");
ra.seek(0);
InputStream i = sock.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(i));
InputStream is = sock.getInputStream();
while ((len = is.read(b, 0, 1024)) != -1) {
System.out.println("len"+len+"\n");
bytcount = bytcount + 1024;
//decrypt
ra.write(b, 0, len);
}
is.close();
ra.close();
sock.close();
ファイルを送信するためのサーバーコード:
byte[] buf = new byte[1024];
OutputStream os = sock.getOutputStream();
BufferedOutputStream out = new BufferedOutputStream(os, 1024);
File folder = new File("/home/luv/NetBeansProjects/Shared/");
File[] listoffiles=folder.listFiles();
String s;
int i=0;
File fp = new File("/home/luv/NetBeansProjects/Shared/LUVSAXENA_IT.docx");
RandomAccessFile ra = new RandomAccessFile(fp,"r");
long bytecount=1024;
while((i=ra.read(buf, 0, 1024)) != -1)
{
bytecount += 1024;
out.write(buf, 0, i);
out.flush();
}
sock.shutdownOutput();
out.close();
ra.close();
sock.close();
ファイルをダウンロードする前にクライアントとサーバーの間で文字列を安全に交換し、その後ファイルを安全にダウンロードできるようにするにはどうすればよいですか。
事前にサンクス