标签: ipv6

如何在LWP中启用IPv6支持?

以下代码......

my $user_agent = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => $url);
my $response = $user_agent->request($request);
if ($response->is_success) {
    print "OK\n";
} else {
    die($response->status_line);
}
Run Code Online (Sandbox Code Playgroud)

..将失败..

500 Can't connect to <hostname> (Bad hostname '<hostname>')
Run Code Online (Sandbox Code Playgroud)

..如果$ url中的主机名是仅IPv6地址(即:存在AAAA记录,但没有A记录).

我的问题是:

  • 如何在LWP中启用IPv6支持?
  • 如何为"prefer-IPv4-over-IPv6"(Avs. AAAA)/"prefer-IPv6-over-IPv4"(AAAAvs. A)配置LWP的设置?

perl ipv6 lwp

10
推荐指数
1
解决办法
3905
查看次数

使用Python流式传输音频和视频

我需要制作一个流式传输实时多媒体的应用程序.目前我的应用程序是从网络摄像头(使用OpenCV)拍摄图像帧并将其发送到客户端.它还使用pymedia模块发送音频.问题是到达客户端的图像和音频数据包都不同步.

所以我有以下问题:

  1. 用于实时多媒体流的python中是否有任何模块?
  2. 我可以以某种方式使音频和图像帧同步为客户端吗?

PS.pymedia自2006年以来一直没有开发,也没有工作.

python video streaming live ipv6

10
推荐指数
1
解决办法
2万
查看次数

Linux下的IPv6流量透明代理

在维护网络时,运行透明代理通常是一件有用的事情.透明代理我指的是一个"劫持"传出连接并通过本地服务运行它们的代理.具体来说,我运行一个配置了squid的linux防火墙,以便端口80上的所有tcp/ip连接都由squid代理.

这是使用iptables'nat'表,使用IPv4获得的.

但IPv6的iptables没有'nat'表,所以我不能使用相同的实现.我可以使用什么技术透明地代理IPv6连接的流量?

linux nat ipv6

9
推荐指数
1
解决办法
7530
查看次数

扩展IPv6地址,以便我可以将其打印到stdout

我正在使用getifaddrs()和inet_ntop()来获取系统上的ip地址.当系统设置为IPv6时,返回的地址是缩短版本(使用:: for zeros).有没有办法将该地址扩展为完整地址?

这是我正在使用的代码:

struct ifaddrs *myaddrs, *ifa;
void *in_addr;
char buf[64];

if(getifaddrs(&myaddrs) != 0)
{
    perror("getifaddrs");
    exit(1);
}

for (ifa = myaddrs; ifa != NULL; ifa = ifa->ifa_next)
{
    if (ifa->ifa_addr == NULL)
        continue;
    if (!(ifa->ifa_flags & IFF_UP))
        continue;

    switch (ifa->ifa_addr->sa_family)
    {
        case AF_INET:
        {
            struct sockaddr_in *s4 = (struct sockaddr_in *)ifa->ifa_addr;
            in_addr = &s4->sin_addr;
            break;
        }

        case AF_INET6:
        {
            struct sockaddr_in6 *s6 = (struct sockaddr_in6 *)ifa->ifa_addr;
            in_addr = &s6->sin6_addr;
            break;
        }

        default:
            continue;
    }

    if (!inet_ntop(ifa->ifa_addr->sa_family, in_addr, buf, …
Run Code Online (Sandbox Code Playgroud)

c linux ipv6

9
推荐指数
1
解决办法
1万
查看次数

从IPv4变为IPv6:它对Web开发有何影响?

Web开发人员是否需要关注IPv4的结束?或者这严重是托管级别的关注?

普通的PHP/JavaScript/Ajax等开发人员可以做些什么来减轻转换的影响?

讨论!

(如果在我道歉之前出现这种情况,但我的搜索没有透露)

networking ipv4 ipv6

9
推荐指数
1
解决办法
811
查看次数

是否可以使用Twisted with IPv6?

我正在尝试为使用Twisted编写的应用程序添加IPv6支持,但遗憾的是,它不支持IPv6.在Twisted的trac中有一张三年的,但它似乎陷入了辩论,没有任何进展的迹象.

理想情况下,我希望现有的reactor方法(如listenTCP和connectTCP)可以简单地工作,即connectTCP可以接受IPv4或IPv6地址,并处理幕后的套接字差异.该票证确实包含了一个补丁来执行此操作,但它相当陈旧,并且完全未经测试,因此不适合生产应用程序,除非作为参考点.

在我花了很多时间编写自己的补丁之前,我想知道是否有其他人已经处理过这个问题,如果是的话,是怎么回事.

python twisted ipv6

9
推荐指数
1
解决办法
1547
查看次数

如何在c#中获取IPv6地址?

我用Request.UserHostAddress,只能获取IPv4地址,如何获取访问者的IPv6地址?

c# asp.net ipv4 ipv6

9
推荐指数
2
解决办法
4662
查看次数

python将ipv6转换为整数

是否有任何包或简单的方法将ipv6转换为整数?该算法对于理解ipv6短格式应该有点聪明.在我开始编写自己的代码之前,我只是想知道是否有人知道可以完成这项工作的软件包?

谢谢,

python ipv6

9
推荐指数
3
解决办法
9489
查看次数

使用ioctl在linux中获取IPv6地址

我试图在我的Linux操作系统中获取IPv6地址,如下所示:

sd = Socket_m(AF_INET6_m, SOCK_DGRAM_m, 0);

ifc.ifc_buf = buffer_p;
ifc.ifc_len = buffSize;
Ioctl_m(sd, SIOCGIFCONF, &ifc);
Run Code Online (Sandbox Code Playgroud)

如果为接口配置了任何IPv4地址,它会成功运行,但如果接口只有一个IPv6地址,则ioctl不会返回该地址.

例如,我无法获取followith接口的IPv6地址,因为只配置了IPv6地址:

br1       Link encap:Ethernet  HWaddr 00:10:18:2D:BB:34  
          inet6 addr: fe80::210:18ff:fe2d:be54/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:194244850 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72005 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12331900995 (11760.6 Mb)  TX bytes:6192406 (5.9 Mb)
Run Code Online (Sandbox Code Playgroud)

c linux ioctl ipv6

9
推荐指数
2
解决办法
6406
查看次数

为什么Puma只绑定到tcp6?(通过`rails s`)

全新生成的Rails 4.2.0项目.Ran rails s,使用WEBrick表现得如预期:

vagrant@web1:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3000          0.0.0.0:*               LISTEN      27158/ruby2.1   
tcp6       0      0 ::1:3000                :::*                    LISTEN      27158/ruby2.1   
Run Code Online (Sandbox Code Playgroud)

添加puma到Gemfile,运行bundle,然后rails s再次; 想出了Puma,但只绑定了tcp6接口,而不是tcp:

vagrant@web1:~$ netstat -nlpt
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 ::1:3000                :::*                    LISTEN      27116/ruby2.1   
Run Code Online (Sandbox Code Playgroud)

有什么线索的原因?我一直在谷歌搜索没有运气.

更新:

跑步puma -b tcp://0.0.0.0:3000工作.但是,将bind指令添加到config/puma.rb并运行rails s不会:

bind 'tcp://0.0.0.0:3000'
Run Code Online (Sandbox Code Playgroud)

然而,我的配置文件中的threads/workers指令正在工作,因此我知道配置文件正在加载和使用.(甚至添加了一个put语句以确定.)

如果我只是运行puma,绑定到正确的接口,配置文件甚至会被拾取.我可能只需要运行puma而不是rails s,尽管它很烦人,必须添加到我的开发人员文档中.

UPDATE2:

我误解了.运行 …

ruby-on-rails ipv6 puma

9
推荐指数
1
解决办法
2123
查看次数

标签 统计

ipv6 ×10

linux ×3

python ×3

c ×2

ipv4 ×2

asp.net ×1

c# ×1

ioctl ×1

live ×1

lwp ×1

nat ×1

networking ×1

perl ×1

puma ×1

ruby-on-rails ×1

streaming ×1

twisted ×1

video ×1