gpt4 book ai didi

java - 如何在 Socket 上设置写入超时

转载 作者:行者123 更新时间:2023-12-03 11:55:07 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How can I set Socket write timout in java?

(1 个回答)


4年前关闭。




在java中,Socket有一个方法setSoTimeout可用于指定 reading超时,但没有方法指定 writing超时

当我搜索谷歌时,很多类似“use nio and selectors”的回复,看起来是SocketChannel提供指定 writing 的方法超时,我简要介绍了这个类的代码,但还是没搞明白怎么做。

有人可以显示一些代码或一些指南吗?谢谢

最佳答案

减轻写调用缺少超时选项的一种可能方法是简单地设置 SO_SNDBUF大小通过Socket.setSendBuffer到非常高的东西。这将允许后续的写入调用以避免阻塞,除非到远程端的管道得到备份。如果可能,请构建您的协议(protocol),以便在发送更多数据之前等待对已发送数据的某种响应。这样,您将永远不会超过发送缓冲区。

YMMV。

关于java - 如何在 Socket 上设置写入超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46292259/

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