int m_nSocket6;
sockaddr_in6 m_address_6;
/*created the socket*/
m_nSocket6 = socket(AF_INET6, SOCK_DGRAM, 0);
int ret;
/* Set socket buffer size */
int buffer_size;
ret = setsockopt(m_nSocket, SOL_SOCKET, SO_RCVBUF, (char*) &buffer_size, sizeof(buffer_size));
/* Set socket timeout */
int timeout = m_nTimeout;
ret = setsockopt(m_nSocket, SOL_SOCKET, SO_RCVTIMEO, (char*) &timeout, sizeof(timeout));
/*Multicast*/
int yes = m_nMulticast; //1 = enabled
ret = setsockopt(m_nSocket, SOL_SOCKET, SO_REUSEADDR, (char*)&yes, sizeof(yes));
/*bind*/
memset((char *)&abc, 0, sizeof(m_address6));
m_address6.ss_family = AF_UNSPEC;
m_address6.sin6_family = AF_INET6;
m_address_6.sin6_addr = in6addr_any;
m_address6.sin6_port = htons((u_short)m_nPort);
ret = bind(m_nSocket6, (struct sockaddr*) &abc, sizeof(abc));
/*receiving the packets*/
recvfrom(m_nSocket, m_sBuffer, UPD_DATAGRAM_BUFFER_SIZE, 0, (struct sockaddr*) &m_address, &server_length);
0
A
答えて
2
に取り組んでいた、あなたはデュアルスタックを作成する必要がありますソケットは、IPV6_V6ONLY
オプションが無効になっているIPv6ソケットです。
詳細については、MSDNのドキュメントを参照してください:
Dual-Stack Sockets for IPv6 Winsock ApplicationsのService Pack 1(SP1)とWindows XP上でIPv4とIPv6の両方をサポートするために
およびWindows Server 2003上で、アプリケーションが持っています2つのソケットを作成します.1つはIPv4で使用するソケットで、もう1つはIPv6で使用するソケットです。これらの2つのソケットは、アプリケーションによって個別に処理する必要があります。
Windows Vista以降では、IPv6とIPv4の両方のトラフィックを処理できる単一のIPv6ソケットを作成できます。たとえば、IPv6のTCPリスニングソケットが作成され、デュアルスタックモードになり、ポート5001にバインドされます。このデュアルスタックソケットは、ポート5001に接続するIPv6 TCPクライアントとポート5001に接続するIPv4 TCPクライアントからの接続を受け入れることができます。この機能により、大幅に単純化されたアプリケーション設計が可能になり、2つの独立したソケットでのポスティング操作に必要なリソースのオーバーヘッドが削減されます。
関連する問題
- 1. IPv4クライアント/サーバアプリケーションでのIPv6サポートの追加 - sin6_flowinfoおよびsin6_scope_idフィールド?
- 2. JavaでIPv4とIPv6の両方をサポートする方法
- 3. IPv4アドレス0.0.0.0およびIPv6アドレス:: 0は、ターゲットアドレスとして使用できない未指定のアドレスです。
- 4. IPアドレスを引く方法は? (IPv4とIPv6の両方)
- 5. nodejs expressjsでipv6アドレスをipv4アドレスに変換する方法は?
- 6. チェックする方法ipv6として提示されたipv4
- 7. iOSでipv4とipv6を区別する方法は?
- 8. gsoapがipv4とipv6の両方で機能しない
- 9. ソケットがIPv4かIPv6かを知らずにあらかじめ作成しています
- 10. Mod_jk workers - ipv4/ipv6/fqdn
- 11. IPv6をIPV4に変換するPHP
- 12. TCPパケットのMTUにTCPおよびIPv4ヘッダーが含まれていますか。
- 13. JavaにIPv4のIPv6アドレスを報告するようにする
- 14. ipv4とipv6は何ですか?
- 15. IPv6アドレスはIPv4モードで動作しますか?
- 16. のC#(IPv6マルチキャスト)IPv4の
- 17. SQLAlchemyは、UnixソケットまたはIPv4の前にIPv6経由でPostgreSQL接続を試行します
- 18. IPv4ゲートウェイへのIPv6ゲートウェイ
- 19. IPv4、IPv6、ホスト名を確認する
- 20. ipv4とipv6のipチェックについて
- 21. GetHostAddress()はIPv6を返さず、IPv4のみ
- 22. ipv4とipv6のアドレスを区別する方法
- 23. AndroidのIPv4アドレスからIPv4マップされたIPv6アドレスを合成しますか?
- 24. IPアドレスを取得する方法(IPv4はNULLですが、IPv6は存在します)、コンテンツの詳細
- 25. IPv4/IPv6の基礎と開発を始めるためのリソース
- 26. ipv4アドレスをipv6に変換するにはAFNetworkingを使用しますか?
- 27. JREでIPv4 IPのIPv6スタック使用を無効にするにはどうすればよいですか?
- 28. IPv6ソケット
- 29. Vagrant + Virtualboxカスタムボックス:NATアダプタipv4の代わりにipv6アドレスを取得
- 30. GoogleコンピューティングエンジンでIPv6からIPv4へのプロキシサーバーを作成する
ようこそstackoverflow.com [ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help/)のセクションを読んでください。 on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。また、[ツアーを受けてください](http://stackoverflow.com/tour)と[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)もご覧ください。最後に[最小、**完全**、および検証可能な例](http://stackoverflow.com/help/mcve)の作成方法を学んでください。 –
[here](https://stackoverflow.com/questions/8835322/api-using-sockaddr-storage)と[here](http://www.tenouk.com/Winsock/Winsock2example7.html)を参照してください。 –