2017-04-15 6 views
0

私たちはpoco(pocoproject.org)ライブラリのHTTPサーバの例を模索しています。 Windowsではうまく動いていますが、FreeBSDでは「アドレスファミリはサポートされていません」という問題があります。 https://github.com/toggl/toggldesktop/blob/master/third_party/poco/Net/samples/HTTPFormServer/src/HTTPFormServer.cppPocoライブラリは、FreeBSDの下で "アドレスファミリはサポートされていません"という問題を提起しています

任意の提案を、我々はそれを修正する方法:FreeBSDでは、私たちは、このサンプルのPKGのPOCO-1.​​7.8

ソースからインストールのダイナミックリンクを使用しましたか?

-----更新:

オリジナルサンプルではipv4が使用されています。次のように私はIPv6のソケットを作成

同じ問題:

 Poco::Net::SocketAddress addr("[fe80::a00:27ff:feb7:6b1a]:9980"); 

     if (addr.family() == static_cast<Poco::Net::IPAddress::Family>(Poco::Net::Impl::IPAddressImpl::IPv6)) { 
      std::cout << "Addr: ipv6 " << std::endl; 
     } 
     else if (addr.family() == static_cast<Poco::Net::IPAddress::Family>(Poco::Net::Impl::IPAddressImpl::IPv4)) { 
      std::cout << "Addr: ipv4 " << std::endl; 
     } 
     else { 
      std::cout << "Addr: something else (err)." << std::endl; 
     } 

     // set-up a server socket 
     ServerSocket svs(addr); 

出力

Addr: ipv6 
    Net Exception: Address family not supported 

答えて

0

私はPOCOについて何も知りませんが、エラーメッセージは、それがIPv6の問題であることを示唆しています。

考えられる解決策:

  • IPv6を無効に
  • FreeBSD上で

プログラムIPv6を意識してくださいも参照してください。この関連question

+0

のIPv6 verisonは同じ問題を持っています – Victor

関連する問題