簡體   English   中英

Java客戶端何時可以從C服務器接收-1?

[英]when can java client receive -1 from c server?

我的客戶端是用Java編寫的。 服務器用C編寫。當客戶端從服務器讀取時,讀取函數返回-1。 我知道如果在套接字關閉之前關閉了outputstream,java客戶端將收到-1。 但是當在C中時,java客戶端何時會收到-1?

JAVA CASE:
OutputStream out = socket.getOutputStream();
out.write(buf);
out.close();
out.write(otherbuf);

在這種情況下,當客戶端調用read()時,它將返回-1。

如果服務器是用c編寫的,則Java客戶端何時返回-1? 謝謝。

服務器使用哪種語言無關緊要。 它可以用任何形式編寫,客戶不知道也不應該在乎(通常)。

如記錄所示, read到達流的末尾時將返回-1 當另一端關閉(TCP)套接字的另一端時,將發生流結束。

(在C端,假設為POSIX系統,可以通過close(2)系統調用或shutdown(2)系統調用來關閉套接字。后者允許程序僅關閉套接字的一側。連接時,即關閉寫的一面,但保持讀取端打開。 close關閉兩邊倒。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM