Pertama, apa yang dilakukan Bonjour (permohonan membaca tebakan saya di bawah)?
Di sini saya menemukan bahwa Bonjour memungkinkan penemuan otomatis komputer, perangkat, dan layanan pada jaringan IP. Tapi saya pikir itu tidak hanya "menemukan perangkat di jaringan IP" tetapi juga membuat jaringan IP dengan menetapkan alamat IP ke perangkat tempat Bonjour berjalan. Apakah saya benar?Dan saya masih merindukan esensinya. Apakah ini bekerja dengan cara berikut? Pertama saya menghubungkan perangkat (misalnya laptop) secara fisik sehingga mereka berpotensi dapat berkomunikasi satu sama lain. Kemudian, katakanlah, pada beberapa laptop saya menjalankan Bonjour dan kemudian, sebagai konsekuensinya, laptop ini memberikan alamat IP kepada mereka secara otomatis. Jadi, laptop (tempat Bonjour berjalan) membangun jaringan IP. Apakah ini bekerja dengan cara ini?
Atau mungkin komputer yang menjalankan Bonjour tidak dianggap sebagai layanan dan tidak disiarkan sendiri hanya karena Bonjour berjalan di komputer ini. Maksud saya aplikasi yang berjalan di komputer harus menggunakan Bonjour untuk menyiarkannya sendiri. Jadi, itu adalah aplikasi yang menyiarkan sendiri (bukan komputer) dan itu tidak dilakukan secara otomatis (aplikasi perlu menyiarkan sendiri secara eksplisit). Apakah tepat?
Bagaimana tepatnya aplikasi saya dapat menyiarkannya sendiri? Dapatkah saya menggunakan baris perintah untuk mendaftarkan layanan (sehingga semua aplikasi menggunakan Bonjour tahu bahwa layanan baru muncul)?
Lebih lanjut, saya ingin memiliki aplikasi yang menggunakan jaringan IP yang dibuat oleh Bonjour. Untuk itu aplikasi saya perlu tahu perangkat / layanan mana yang ada dalam jaringan. Secara lebih rinci, aplikasi saya perlu memiliki daftar layanan. Setiap layanan dalam daftar harus memiliki nama, alamat IP di mana ia berjalan dan port yang digunakan oleh aplikasi. Bisakah Bonjour memberikan informasi ini dengan cara tertentu? Jika ini masalahnya, bagaimana tepatnya kerjanya. Bagaimana program saya bisa mendapatkan informasi ini dari Bonjour? Bisakah program saya membaca beberapa file yang dibuat oleh Bonjour dan berisi informasi yang disebutkan di atas? Bisakah saya menggunakan beberapa perintah di baris perintah untuk mengambil informasi ini?
Saya memiliki minat khusus dalam mengakses informasi tentang layanan dari file, variabel lingkungan atau perintah di baris perintah. Menurut saya, opsi-opsi ini adalah yang paling sederhana! Karena dalam hal ini saya tidak perlu menggunakan perpustakaan tambahan untuk berkomunikasi dengan Bonjour dari bahasa pemrograman tertentu.
PS Pleas mengajukan pertanyaan jika ada sesuatu yang tidak jelas dalam pertanyaan saya. Saya akan mencoba merumuskan pertanyaan saya dengan cara yang lebih jelas.
PPS saya menggunakan Windows 7 .
TAMBAH: Saya berencana untuk menulis aplikasi saya di PHP. Setiap komputer harus menjalankan server web Apache. Dan saya ingin menggunakan Bonjour untuk membantu komputer menemukan satu sama lain (komputer bekerja di jaringan lokal).
sumber
Tidak terlalu; seperti yang ditunjukkan Jon, DHCP (biasanya) digunakan untuk mengalokasikan alamat IP. Dalam banyak cara yang sama seperti DNS biasa menerjemahkan nama domain ke alamat IP, Bonjour digunakan untuk menerjemahkan nama domain sementara (dalam jaringan lokal) ke alamat IP yang menyediakannya.
Nggak; laptop sebagian besar kemungkinan mendapatkan alamat IP mereka dari server DHCP lokal. Bonjour hanya membantu mereka mencari tahu layanan apa yang masing-masing dapat berikan kepada yang lain.
Ya - umumnya, aplikasi Anda perlu mengiklankan keberadaannya secara eksplisit. Ini sering dapat dilakukan dengan menggunakan pustaka yang disediakan sistem (umum pada OS X) atau pustaka kustom (mis. Perl's Net :: Bonjour).
Saya tidak mengetahui alat baris perintah yang melakukan ini, tetapi banyak bahasa pemrograman utama memiliki perpustakaan yang tersedia untuk melakukan ini.
Sebagian besar perpustakaan Bonjour harus dapat melakukan ini untuk Anda; lihat contoh pertama di http://search.cpan.org/~chlige/Net-Bonjour-0.96/lib/Net/Bonjour.pm
Menggunakan perpustakaan yang sesuai, program ini menggunakan protokol Bonjour untuk meminta semua komputer lain di jaringan lokal Anda untuk memberi tahu layanan apa yang mereka miliki. Pustaka itu kemudian akan mem-parsing respons dan menyajikannya kepada Anda dalam format yang lebih berguna.
Saya tidak mengetahui alat yang melakukan ini, tetapi mungkin ada.
Beberapa informasi lebih lanjut tentang program apa yang Anda tulis akan lakukan, dan bahasa apa yang Anda tulis, akan membuatnya lebih mudah untuk membantu.
Untuk informasi lebih lanjut, coba keduanya:
sumber
Bonjour tidak menetapkan alamat IP - ini adalah protokol penemuan - Anda masih memerlukan alamat IP DHCP / Static / Link-Local (APIPA) agar dapat berfungsi.
Ia menggunakan multicast DNS (mDNS) untuk menemukan host apa yang berada pada domain broadcast yang sama seperti dirinya dan pada dasarnya ia menjadi server DNS sendiri.
Lihat Bonjour & Zeroconf untuk mengetahui lowdown.
Kecuali jika aplikasi Anda untuk jaringan rumah / tidak terkelola, artinya, tidak memiliki server DNS lokal Anda hanya tidak memerlukannya.
sumber