struktur IP_MREQ_SOURCE (ws2ipdef.h)

Struktur ip_mreq_source menyediakan informasi grup multicast untuk alamat IPv4.

Sintaks

typedef struct ip_mreq_source {
  IN_ADDR imr_multiaddr;
  IN_ADDR imr_sourceaddr;
  IN_ADDR imr_interface;
} IP_MREQ_SOURCE, *PIP_MREQ_SOURCE;

Anggota

imr_multiaddr

Alamat grup multicast IPv4.

imr_sourceaddr

Alamat sumber multicast IPv4.

imr_interface

Alamat IPv4 lokal antarmuka atau indeks antarmuka tempat grup multicast harus digabungkan, dihilangkan, diblokir, atau tidak diblokir. Nilai ini dalam urutan byte jaringan. Jika anggota ini menentukan alamat IPv4 0.0.0.0, antarmuka multicast IPv4 default digunakan.

Untuk menggunakan indeks antarmuka 1 akan sama dengan alamat IP 0.0.0.1.

Keterangan

Struktur ip_mreq_source digunakan dengan alamat IPv4. Struktur ip_mreq_source digunakan dengan opsi soket IP_ADD_SOURCE_MEMBERSHIP, IP_BLOCK_SOURCE, IP_DROP_SOURCE_MEMBERSHIP, dan IP_UNBLOCK_SOURCE .

Struktur ip_mreq_source dan struktur terkait yang digunakan untuk pemrograman multicast IPv4 didasarkan pada rekomendasi IETF di bagian 4 dan 8.1 RFC 3768. Untuk informasi selengkapnya, lihat http://www.ietf.org/rfc/rfc3678.txt.

Pada Windows Vista dan yang lebih baru, sekumpulan opsi soket tersedia untuk pemrograman multicast yang mendukung alamat IPv6 dan IPv4. Opsi soket ini adalah agnostik IP dan dapat digunakan pada IPv6 dan IPv4. Opsi agnostik IP ini menggunakan GROUP_REQ dan struktur GROUP_SOURCE_REQ dan merupakan opsi soket pilihan untuk pemrograman multicast di Windows Vista dan yang lebih baru. Lihat Pemrograman Multicast untuk informasi selengkapnya.

Untuk kemampuan multicast yang kurang dapat dikonfigurasi dengan IPv4, gunakan struktur ip_mreq . Untuk IPv6, gunakan struktur ipv6_mreq .

Anggota imr_interface dapat menjadi indeks antarmuka. Alamat IP apa pun di blok 0.x.x.x (oktet pertama 0) kecuali untuk alamat IP 0.0.0.0 diperlakukan sebagai indeks antarmuka. Indeks antarmuka adalah angka 24-bit. Blok alamat IPv4 0.0.0.0/8 tidak digunakan (rentang ini dicadangkan). Fungsi GetAdaptersAddresses dapat digunakan untuk mendapatkan informasi indeks antarmuka yang digunakan untuk anggota imr_interface .

Disarankan agar alamat IPv4 lokal atau indeks antarmuka selalu ditentukan dalam anggota imr_interface struktur ip_mreq_source , daripada menggunakan antarmuka default. Ini sangat penting pada komputer dengan beberapa antarmuka jaringan dan beberapa alamat IPv4 publik.

Antarmuka default yang digunakan untuk multicast IPv4 ditentukan oleh tumpukan jaringan di Windows. Aplikasi dapat menentukan antarmuka default yang digunakan untuk multicast IPv4 menggunakan fungsi GetIpForwardTable untuk mengambil tabel perutean IPv4. Antarmuka jaringan dengan nilai terendah untuk metrik perutean untuk alamat IP tujuan 224.0.0.0 adalah antarmuka default untuk multicast IPv4. Tabel perutean juga dapat ditampilkan dari prompt perintah dengan perintah berikut:

cetak rute

Opsi soket IP_MULTICAST_IF dapat digunakan untuk mengatur antarmuka default untuk mengirim paket multicast IPv4. Opsi soket ini tidak mengubah antarmuka default yang digunakan untuk menerima paket multicast IPv4.

Aplikasi multicast IPv4 yang khas akan menggunakan opsi soket IP_ADD_SOURCE_MEMBERSHIP dengan struktur ip_mreq_source untuk bergabung dengan grup multicast dan mendengarkan paket multicast pada antarmuka tertentu. Opsi soket IP_MULTICAST_IF akan digunakan untuk mengatur antarmuka untuk mengirim paket multicast IPv4 ke grup multicast. Skenario yang paling umum adalah aplikasi multicast yang mendengarkan dan mengirim antarmuka yang sama untuk grup multicast. Beberapa soket dapat digunakan oleh aplikasi multicast dengan satu soket untuk mendengarkan dan satu atau beberapa soket untuk dikirim.

Pada Microsoft Windows Software Development Kit (SDK) yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah dan struktur ip_mreq_source ditentukan dalam file header Ws2ipdef.h yang secara otomatis disertakan dalam file header Ws2tcpip.h . File header Ws2ipdef.h tidak boleh digunakan secara langsung.

Catatan Struktur turunan IP_MREQ_SOURCE dan PIP_MREQ_SOURCE hanya ditentukan pada Windows SDK yang dirilis dengan Windows Vista dan yang lebih baru. Struktur ip_mreq_source harus digunakan pada versi Windows SDK yang lebih lama.
 

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header ws2ipdef.h (termasuk Ws2tcpip.h)

Lihat juga

GROUP_REQ

GROUP_SOURCE_REQ

GetAdaptersAddresses

GetIpForwardTable

Opsi Soket IPPROTO_IP

Pemrograman Multicast

Opsi Soket

ip_mreq

ip_msfilter

ipv6_mreq