gpt4 book ai didi

c# - C#中的IPv6隧道多线程

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:04 24 4
gpt4 key购买 nike

我的 ISP 不支持 IPv6 因此我只有 IPv4 地址。假设我们在 http://tunnelbroker.net/ 上有一个帐户和一个 http://www.sixxs.net/ .这些资源中的每一个都提供了 IPv4 到 IPv6 的隧道,据我所知,在输出中您可以分别访问 IPv6 网络和 IPv6 地址。

问题如下 - 我需要一个有两个线程的应用程序,每个线程都将使用自己的隧道选项,例如服务器 IPv4 地址、可用的 DNS 解析器等。显然,线程必须并行工作 + 请记住可能有两个以上。是否可以在不使用 netsh 修改全局窗口设置的情况下以某种方式组织它?也许有一种方法可以只为线程设置隧道选项,就像在 HttpWebRequest 中所做的那样:

HttpWebRequest.Proxy = new WebProxy(); //

好的,那么如果我们转到较低级别的 API,我需要做什么才能将默认的 HttpWebRequests/Responses 放入这样的隧道中(如果我理解正确的话,ofc)?

*已编辑

这些是 tunnelbroker.com 建议应用默认隧道工作的设置:

netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel IP6Tunnel my_ip_here server_ip_here
netsh interface ipv6 add address IP6Tunnel 2001:470:18:201::2
netsh interface ipv6 add route ::/0 IP6Tunnel 2001:470:18:201::1

实际上,我正在寻找任何提示,因为我是低级网络编程的新手。

最佳答案

6to4 隧道为您的机器提供了一个实际的 IPv6 地址。您可以使用多个 6to4s,您将获得多个 IPv6 地址。要指定您要使用哪一个,您需要将套接字绑定(bind)到您想要的 IP。

大多数高级 API 不支持设置它们绑定(bind)的 IP——你在这里很不走运,完全受 API 开发者的摆布。大多数 API 甚至不尝试自己绑定(bind)到特定地址,而是让操作系统处理选择。这是一个有点奇怪的请求,所以很难责怪他们:)

关于c# - C#中的IPv6隧道多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941664/

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