java에 소켓 기반 서버를 쓰고 있습니다. 클라이언트가 웹 브라우저에 연결하고 서버가 간단한 html 코드를 보내고 다음에 클라이언트가 다시 연결될 때 인식하도록 쿠키를 설정합니다. PrintStream을 사용하여 소켓에 쓰지만 플러시가 작동하지 않습니다. 내가 플러시 할 수있는 유일한 방법은 shutdownoutput 또는 close를 사용하여 소켓 스트림을 닫는 것입니다. 하지만 나는 코드에서 여러 곳에서 여러 번 읽고/쓰고 있기 때문에 그것을 원하지 않습니다. 무엇을 할 수 있습니까? 태그에서 도움을 얻을 수 없습니다. 다른 버퍼링 된 작성자 클래스도 같은 문제를 시도했습니다.Java 소켓 OutputStream이 플러시되지 않습니다
3
A
답변
0
내가 플러시 대신이 메서드를 호출하려고 할 것이다 : 그것은 플러시 할 몇 가지 이유로 실패하는 경우
public boolean checkError()
Returns:
True if and only if this stream has encountered an IOException other than InterruptedIOException, or the setError method has been invoked
참조 (checkError는 내부적으로 플러시 호출하고 오류 상태를 기억합니다).
텔넷을 사용하여 서버에 연결하고 데이터가 즉시 반환되는지 확인하거나 간단한 자바 클라이언트 소켓 프로그램을 작성하여 (네트워크에서 잘라내어 붙여 넣기) 검사해볼 가치가 있습니다.
html을 표시하기 전에 브라우저가 의도적으로 더 많은 입력을 기다리기로 결정했을 수도 있습니다 (특히 HTML이 완벽하게 형성되지 않은 경우). 과거에이 문제가 나 자신을 기억하는 것 같습니다.
4
아, 그래, sillyproblem, 그냥 pstream.writeln (""); breader.readLine()은 '\ n'문자를 찾을 때까지 읽습니다. write()가 작동하지 않습니다.
관련 문제
- 1. Java에서 Null OutputStream이 있습니까?
- 2. 명명 된 파이프가 파이썬에서 플러시되지 않습니다.
- 3. swt.graphics.ImageLoader.save()가 플러시되지 않았습니까?
- 4. pySerial 버퍼가 플러시되지 않음
- 5. HtmlTextWriter가 처리시 플러시되지 않습니까?
- 6. Java 소켓 서버에 대한 Python 소켓 클라이언트
- 7. 경량 Java 소켓 라이브러리
- 8. Java 소켓 및 프로세스
- 9. Facebook 캐시가 플러시되지 않습니까?
- 10. Java 소켓 스레딩 문제
- 11. Java TCP 소켓 스니핑
- 12. Java MINA 노출 소켓
- 13. 대기열의 Java 소켓 연결
- 14. Java 소켓 동기화 동작
- 15. Java 서버 소켓 오류
- 16. WLAN을 통한 Java 소켓?
- 17. Java 소켓 지연
- 18. Java 소켓 및 인터넷
- 19. Java 소켓 질문
- 20. 스레드가 실행되는 Java 소켓
- 21. Java : 소켓 또는 RMI?
- 22. Java 소켓 프로그래밍 헤더
- 23. Java 소켓 - 실시간 전송
- 24. Java 소켓 테스트
- 25. Java 소켓 병렬 전송
- 26. Java 소켓 사용 권한 문제
- 27. Java 소켓 닫기가 감지되지 않았습니다.
- 28. Java 서버 소켓 버퍼가 Mac에서 가비지 수집되지 않습니다.
- 29. 닫아야 할 Java 소켓 채널에 쓰기가 예외를 생성하지 않습니다.
- 30. Java 소켓 프로그래밍이 10,000 개의 클라이언트에서 작동하지 않습니다.
서버 코드의 예를 게시 할 수 있습니까? – Kylar
이것은 실제로 오래되었지만 후손의 경우''\ n "'이 인쇄 될 때 플러시가 발생하기 때문에''ps.flush()'는 불필요합니다. 즉'println()'이 호출됩니다. 또한,'SocketOutputStream'에서'flush()'메서드는 아무 것도하지 않습니다. – Gray