2
かかわらず、サーバーからメッセージを受信するいくつかの問題:最初のクライアントが自分のサーバーのコードでソケット
BufferedReader br = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream(), "UTF-8"));
OutputStreamWriter stream = new OutputStreamWriter(clientSocket.getOutputStream(), "UTF-8");
PrintWriter pw = new PrintWriter(stream);
その後、私のクライアントコードで
pw = new PrintWriter(stream);
br = new BufferedReader(new InputStreamReader(
socket.getInputStream(), "UTF-8"));
、サーバーの使用: pw.println(」 OK"); pw.flush();
クライアントは、その後のサーバーの使用をOK
を受け取る:
pw.println("TRUE")
pw.flush();
この時、クライアントはunknowのchar
\ufffd\ufffdTRUE
を持っている文字列を受け取り、その後、私はクライアントにMSGを送信し続けると、すべての文章の前に\ ufffdを受け取ります。
問題を解決するのに手伝ってもらえますか?
お返事ありがとうございます。毎回、私は同じプリントライターを使いました。私は何が起こったのか分かりません。 – Johnny
しかし、サーバーとクライアントが同じマシン上にある場合は、正常に動作します。しかし、今私のサーバーはマシンserver2003をインストールし、クライアントがWindows 7にインストールされている、問題が発生します。 – Johnny
私は、サーバーからデータを読み込むreadlineメソッドを呼び出すたびに、\ r \ nの後ろに\ ufffdを読み込むことがわかります。最初に "OK"を直接与えてくれるでしょう。それは私に "TRUE"の前に\ ufffdを与え、3回目に\ ufffdを与えます。あなたはなにか考えはありますか?異なるjresを介してデータを変換するとこの問題が発生しますか?ごめんなさい。 – Johnny