gpt4 book ai didi

java - Java程序中的setsockopt

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:43 27 4
gpt4 key购买 nike

从版本 8 开始,FreeBSD 支持 IP_BINDANY 套接字选项,其手册页定义为:

If the IP_BINDANY option is enabled on a SOCK_STREAM, SOCK_DGRAM or a SOCK_RAW socket, one can bind(2) to any address, even one not bound to any available network interface in the system. This functionality (in conjunction with special firewall rules) can be used for implementing a transparent proxy. The PRIV_NETINET_BINDANY privilege is needed to set this option.

是否可以编写可以使用此功能的 Java 程序?我已经检查了 SocketOptions 的文档它显然没有列出这个选项。那么有什么解决方法吗?

关于,

拉杰

最佳答案

Is it possible to write a Java program that can use this functionality?

使用纯 Java 是不可能的。

So is there any workaround?

有几个基于 JNA/JNI 的库可用于从 Java 程序进行 Posix 系统调用;有关详细信息,请参阅此 SO 问题/答案:

我不知道这些是否适用于 FreeBSD 上的 Java。


经过进一步思考,也许可以用纯 Java(尽管必须是不可移植的)来实现它。它需要创建 SocketImpl 和/或 DatagramSocketImpl 的子类以及使用它们所需的基础设施。这会很复杂。

关于java - Java程序中的setsockopt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161437/

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