소켓 서버를 만들려고합니다.이 서버에 퍼티를 통해 연결하고 있습니다. 내가 "hi"라고 타이프 할 때마다, 나는 그것을하기를 원하는 "hi"보다 "no"라고 말한다. 나는 이것을 자바 웹 사이트에서 발견했다. 내가 뭘 잘못하고 있는지 말할 수 있다면 좋을 것입니다. 감사!소켓 서버가 제대로 수신되지 않습니다.
int port = 12345;
ServerSocket sock = new ServerSocket(port);
System.out.println("Server now active on port: " + port);
Socket link = sock.accept();
System.out.println("Interface accepted request, IP: " + link.getInetAddress());
BufferedReader input = new BufferedReader(new InputStreamReader(link.getInputStream()));
PrintWriter output = new PrintWriter(link.getOutputStream(), true);
output.println("ISEEYOU");
String inputLine;
Thread.sleep(1500);
while((inputLine = input.readLine()) != null) {
if(inputLine.equals("hi")) {
output.println("hi");
}else{
output.println("no");
}
}
서버 시스템과 클라이언트 시스템의 줄 끝 ('\ r \ n '또는 다른 것)이 동일합니까? 받은 회선을 인쇄하면 어떻게됩니까? – sje397
@ sje397 라인 엔딩은 중요하지 않습니다.'BufferedReader'는 그들이 무엇인지 신경 쓰지 않습니다. – tbodt
'sleep()'은 말 그대로 시간 낭비입니다. 'readLine()'은 라인이 도착할 때까지 차단 될 것이다. – EJP