로컬 컴퓨터에서 SSLServerSocket 프로그램을 시험 사용하려고합니다. (이 프로그램은 서버 개체의 생성자에 대한 단일 매개 변수를 기반으로 일반 소켓이나 SSL 소켓을 사용하도록되어 있습니다. 일반 데이터, 프로그램이 예상대로 정확하게 작동하지만, SSL과 : 로컬 호스트의 Java 및 SSL
socket.getInputStream().read();
항상 65535 (즉 0xFFFF의)를 반환
, 원격 종료를 닫더라도. 어떤 생각이 잘못된거야? 도움이된다면 코드를 게시 할 수 있습니다. 사전에감사
편집 : 좋아, 지금은 깨어 - 사람이 아래에 정확하게 지적했듯이, isClosed 여전히 등 false를 반환하지만, 입력 스트림 만 가지고 (바콜이 자사의 '분리'- 1의).
***
pool-2-thread-1, WRITE: TLSv1.1 Handshake, length = 36
%% Cached server session: [Session-3, TLS_ECDHE_RSA_WITH_RC4_128_SHA]
pool-2-thread-1, received EOFException: ignored
pool-2-thread-1, called closeInternal(false)
pool-2-thread-1, SEND TLSv1.1 ALERT: warning, description = close_notify
pool-2-thread-1, WRITE: TLSv1.1 Alert, length = 22
pool-2-thread-1, called closeSocket(selfInitiated)
After use
코드에서 : : SSL에 대한 디버그 정보를 보면
는,이 보석 발견
final SSLSocket socket = (SSLSocket) ((SSLServerSocket)_ServerSocket).accept();
System.out.println("Before use");
socket.getInputStream().read();
System.out.println("After use");
그래서, 내가 (이 경우 클라이언트 끝을 -think-을하는 브라우저) 제대로 말하지 않고 전화를 끊고 있습니다.
SSL/TLS (wss : // localhost : /)를 통한 웹 소켓을 사용할 때 인증서 설치를 추가하고 Windows 7의 신뢰할 수있는 인증서에 추가하려고 시도했지만 여전히 보이지 않습니다. (html 파일은 로컬 시스템에 있고 위의 wss : URL에 연결되므로 keygen.exe의 서버 별명은 localhost 여야합니까?).
어디에서 내가 잘못 가고 있을지 아는 사람이 있습니까?
휠을 다시 발명하는 대신 Netty에 웹 소켓 구현이 있고 Apache MINA, Jetty 및 Resin 프레임 워크가 있다고 생각합니다. – djangofan