Multihoming dan PGM

Pertimbangan khusus harus diberikan kepada pengirim atau penerima PGM multihomed. Halaman ini menjelaskan pertimbangan, dan memberikan panduan untuk praktik pemrograman terbaik.

Pengirim PGM Multihomed

Ketika aplikasi gagal menentukan antarmuka saat memanggil fungsi sambungkan , antarmuka pertama yang tersedia digunakan. Jika tidak ada antarmuka yang tersedia, sambungkan gagal.

Ketika aplikasi menentukan antarmuka menggunakan opsi soket RM_SET_SEND_IF , upaya ikatan dilakukan secara implisit ke antarmuka tersebut menggunakan TCP/IP, dan gagal jika TCP/IP gagal dalam permintaan ikatan. Jika antarmuka diatur menggunakan RM_SET_SEND_IF beberapa kali, hanya set antarmuka terakhir yang berhasil diterapkan.

Windows Sockets mempertahankan antarmuka mana yang diatur, dan jika antarmuka tersebut hilang, sesi terputus.

Penerima PGM Multihomed

Ketika aplikasi gagal menentukan antarmuka saat memanggil fungsi dengar , antarmuka default digunakan. Jika tidak ada antarmuka yang tersedia, pengikatan gagal.

Ketika aplikasi menentukan satu atau beberapa antarmuka untuk mendengarkan, menggunakan RM_ADD_RECEIVE_IF, Windows Sockets mencoba mengikat antarmuka atau antarmuka yang diminta menggunakan TCP/IP. Kesalahan apa pun dari TCP/IP menyebabkan permintaan ini gagal. Tidak seperti kasus pengirim PGM, menambahkan antarmuka terima beberapa kali mengakibatkan mendengarkan diposting pada semua antarmuka yang berhasil ditambahkan. Gunakan opsi soket RM_DEL_RECEIVE_IF untuk berhenti mendengarkan pada antarmuka.

Windows Sockets tidak mempertahankan status tentang beberapa antarmuka mendengarkan yang ditentukan, dan sebaliknya bergantung pada TCP/IP untuk melakukannya. Namun, setelah sesi berlangsung, Windows Sockets melacak antarmuka masuk untuk sesi tersebut, dan jika antarmuka tersebut menghilang, Windows Sockets memutuskan sesi.