1
私はソケットとスレッドを使ってjavaでプログラムを書いています。クライアントクラスでは、クライアントがサービスを追加してサーバーに送信できるメソッドがあります。サーバーはデータを受け取り、ArrayListに格納します。私の問題は、サービスを保存した後、クライアントにメッセージを送り返したいので、サービスが正常に追加されたことを知っているだろうが、残念ながら私が受け取っているのは空の文字列です。ここでサーバーが空の文字列をクライアントに送信するのはなぜですか?
は私のコードです:
//method from client class
private static void addServices() throws IOException{
input= new BufferedReader(new InputStreamReader(System.in));
inputClient=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
output= new PrintWriter(clientSocket.getOutputStream());
System.out.print("\nName of service: ");
String name=input.readLine();
output.println(name);
output.flush();
System.out.print("\nData of service: ");
String data=input.readLine();
output.println(data);
output.flush();
String getMsg;
getMsg=inputClient.readLine(); //here I got blank string from server
System.out.println(getMsg);
}
//method from Server class
private void addServices()throws IOException{
reader= new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
output=new PrintWriter(clientSocket.getOutputStream());
String name=reader.readLine();
String data=reader.readLine();
serviceList.add(new Service(login,name,true,data));
String msg="\nService added succesfully.";
output.println(msg); // here's message I wanna sent to the client
output.flush();
}
あなたは私が間違ってやっと理由てるものを私に説明できますか?手伝ってくれてありがとう。
これは現在動作します、ありがとうございます。 – xev19