도움이 필요합니다. 나는 샘플 큐 시스템을 만들고있다. 데이터를 쓰고 서버에 저장하려고하면 서버가 예외를 반환합니다. 저는 또한 소켓에있는 초보자이기 때문에 제 질문에 답장 할 사람의 도움을받을 수 있습니다.서버에 클라이언트 작성 Java
다음은 학생에 대한 내 코드입니다 :
import java.lang.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class Student {
public static void main(String args[]) {
Scanner sc = new Scanner (System.in);
try {
Socket skt = new Socket("localhost", 1234);
PrintWriter out = new PrintWriter(skt.getOutputStream(), true);
System.out.println("Hello!");
System.out.print("Please enter name: ");
String name = sc.next();
System.out.print("Please enter ID Number: ");
String id = sc.next();
String student = name +" - "+ id;
out.print(student);
} catch(Exception e) {
System.out.println("Whoops! It didn't work.");
}
}
}
및 서버에 대해 : 당신은 catch 블록에서 "으악"보다 자세한 내용을 인쇄해야
import java.lang.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class Server {
public static void main(String args[]) {
Scanner sc = new Scanner (System.in);
ArrayList<String> collector = new ArrayList<String>();
try {
ServerSocket srvr = new ServerSocket(1234);
Socket skt = srvr.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
System.out.print(in.readLine());
String x = in.readLine();
collector.add(x);
}
catch(Exception e) {
System.out.print("Whoops! It didn't work!\n");
}
}
}
예외는 무엇입니까? –
서버에서 readLine을 수행하고 readLine이 문자열 끝에 "\ n"이 오기를 기다리기 때문에 "\ n"을 추가해야합니다. –
사실, 문제는 클라이언트 연결이 제대로 닫히지 않아서 서버에서 연결 재설정 예외가 발생한다는 것입니다. – Sirs