소켓 프로그래밍을 처음 사용하고 숫자를 보내는 클라이언트를 만들고 서버가 클라이언트가 보낸 번호의 배수를 반환합니다. 먼저 서버를 실행 한 다음 클라이언트를 실행합니다. 값을 입력하지만 서버에서 응답을받지 못합니다. 다음은 내 클라이언트 및 서버 코드입니다.서버 클라이언트 JAVA 소켓 프로그래밍 오류
서버 코드
try
{
ServerSocket ss=new ServerSocket(4000);
while(true)
{
Socket sock=ss.accept();
InputStreamReader isr=new InputStreamReader(sock.getInputStream());
BufferedReader br=new BufferedReader(isr);
String num=br.readLine();
try
{
int n=Integer.parseInt(num);
n=n*2;
String ret=String.valueOf(n);
PrintWriter writer=new PrintWriter(sock.getOutputStream());
writer.println(ret);
writer.close();
}
catch(IOException ex)
{
System.out.println("Enter a number!");
}
}
}
catch(Exception ex)
{
System.out.println("Error");
}
클라이언트 코드
try
{
Socket s=new Socket("127.0.0.1",4000);
String st;
PrintWriter pw=new PrintWriter(s.getOutputStream());
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(isr);
InputStreamReader is=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(is);
st=in.readLine();
pw.println(st);
st=br.readLine();
System.out.println("the server says: "+ st);
}
catch(IOException ex)
{
ex.printStackTrace();
}
내가 서버에서 출력을 받고 있지 않다으로 수행 할 단계 무엇을 제안하십시오.
모든 오류? – kosa
소켓에 쓰기 전에'br.readLine()'을 사용하여 서버로부터 읽는 중입니다. 당신은'in.readLine()'을 사용하여 표준 입력으로부터 입력을 얻고 이것을'pw.println()'을 사용하여 서버 소켓에 쓰고'br.readLine()'을 사용하여 서버에서 읽어야합니다. – Priyesh
@ Priyesh 고맙습니다. 그러나 서버가 여전히 응답하지 않습니다. 클라이언트가 입력 한 숫자로 출력을 표시합니다. 예 : '2'를 입력하면 서버는 '2'로 응답합니다. –