大学の仕事のための私のアプリ..
DOC から PDF
==
私のサーバー:
要求ごとに 1 つのスレッド
server = new ServerSocket(5000);
while (true) {
Socket cliente = server.accept();
Thread thread = new Thread(new Requisitor(cliente));
thread.start();
}
私のクラス Requisitor (メソッドを実行)
@Override
public void run() {
// receive doc binary
receive();
// doc to pdf
Conversor converson = new Conversor(new File("docs/"+cliente.getInetAddress().getHostAddress()+".doc"),new File("pdfs/"+cliente.getInetAddress().getHostAddress()+".pdf"));
converson.converter();
//response pdf binary to client
response();
}
しかし、メソッド receive() は呼び出されません..クライアントソケットを切断した場合のみ。
私のクライアントソケット:
Client cliente = new Client();
cliente.connect();
cliente.send(); // send doc binary
boolean flag = true;
while (flag) {
if(!cliente.streamIsEmpty()){ // wait for conversion
cliente.receive(); // receive pdf
flag = false;
}
}
cliente.disconect()
私の受け取り方法
InputStream in = cliente.getInputStream();
BufferedInputStream stream = new BufferedInputStream(in);
FileOutputStream out = new FileOutputStream("docs/"+cliente.getInetAddress().getHostAddress()+".doc");
byte[] buffer = new byte[1024];
int length = 0;
while((length = stream.read(buffer, 0, 1024)) != -1) {
out.write(buffer, 0, length);
}
out.flush();
stream.close();
何か案が?:(