私のクライアントからJavaサーバーに文字列を送信しようとしています。その後、サーバーはクライアントにテキストファイルを送信します。CクライアントからJavaサーバーへの文字列の送信
これは、文字列を送信するクライアントコードの一部です。
int n = write(sock_fd,"Ready",5);
if (n < 0)
printf("ERROR writing to socket\n");
recv_file(sock_fd, filename);
そして、これは、Javaコードのサーバーの一部である:私は確認している
今InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String message = br.readLine();
System.out.println("Message received from client is " + message);
String FILENAME = "data.txt";
sendFile(socket, "data.txt");
つまり私はそれは、クライアントCから文字列を読み取ろうとするサーバーのコードに一部を削除した場合、残りのコードは正常に動作し、ファイルが送信されます。しかし、文字列受信コードにコメントを付けないと、サーバーとクライアントの両方が待機します。
誰かが私のためにこの問題を解決したら、私は感謝します。
P.S.私はこの質問が以前に尋ねられたことは知っていますが、それは私を助けませんでしたので、私は新しいスレッドを開始しました。
多分あなたはあなたのメッセージに新しい行を追加する必要がありますか?私は 'br.readline()'のような呼び出しが次の改行まで読むことを期待しています – Ronald
はい、それはまさに私が逃したものです – KulaDamian