gpt4 book ai didi

java - java客户端什么时候可以从c服务器接收-1?

转载 作者:行者123 更新时间:2023-11-30 07:30:34 27 4
gpt4 key购买 nike

我的客户端是用java写的。服务器是用C写的。当客户端从服务器读取时,读取函数返回-1。我知道在 java 中如果输出流在套接字关闭之前关闭,则 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 关闭两侧。)

关于java - java客户端什么时候可以从c服务器接收-1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com