Có thể ai đó giải thích các hành vi sau đây trong ổ cắm Java:Hành vi của ổ cắm Java khi đóng output stream
Ý tưởng chung là thế này:
- mở ổ cắm, Lấy I/O suối.
- Viết yêu cầu, Đóng luồng ra
- Đọc trả lời, Đóng luồng
- Đóng ổ cắm.
Đây là câu hỏi/vấn đề của tôi.
Nếu tôi sử dụng PrintWriter
cho đầu ra, và sau đó đóng nó, Nó đóng toàn bộ ổ cắm và thao tác đọc tiếp theo không thành công.
Thay vào đó, nếu tôi trực tiếp sử dụng phương pháp shutdownOutput()
của socket, nó sẽ đóng kênh luồng đầu ra một cách chính xác, trong khi vẫn giữ ổ cắm còn sống.
Tại sao đóng đối tượng PrintWriter
làm cho toàn bộ ổ cắm bị hỏng?
Có thể bạn cần phải tuôn ra trước khi đóng. –
bạn đã thử flushing với .flush() trên các kết nối của bạn trước khi đóng printwriter của bạn để xem nếu vấn đề không xảy ra? – vcetinick