Dalam artikel ini, kita akan membahas perbedaan antara pipe named dan mailslot di Windows. Kedua mekanisme tersebut digunakan untuk komunikasi antar proses (Inter-Process Communication, IPC) dan memiliki kelebihan serta keterbatasan masing-masing.
Mailslot
Mailslot adalah sebuah mekanisme untuk komunikasi satuan arah (one-way) antara aplikasi. Aplikasi dapat menempatkan pesan dalam mailslot, sedangkan pemilik mailslot dapat mengambil pesan yang telah disimpan di sana. Pesan-pesan tersebut biasanya dikirimkan melalui jaringan ke komputer spesifik atau ke semua komputer dalam domain tertentu.
Named Pipe
Named pipe adalah sebuah named, one-way atau duplex pipe untuk komunikasi antara server pipa dan client pipa. Seluruh instance dari named pipe membagi nama pipa yang sama, namun setiap instance memiliki buffer serta handle yang terpisah, dan menyediakan jalur komunikasi terpisah untuk komunikasi client-server.
Perbedaan Antara Mailslot dan Named Pipe
Berikut adalah perbedaan antara mailslot dan named pipe:
- Named pipes adalah connection-oriented, sedangkan mailslots tidak.
- Mailslots dapat digunakan untuk broadcast, namun named pipes tidak.
- Kedua mekanisme tersebut dapat memiliki ACL (Access Control List) yang mengatur aksi yang dapat dilakukan oleh pengguna client.
Fungsi NetBIOS
NetBIOS adalah sebuah fungsi yang diinterpretasikan dan dieksekusi NCB (Network Control Block). Fungsi ini dibuat untuk aplikasi-aplikasi yang ditulis untuk interface NetBIOS dan memerlukan porting ke Windows. Aplikasi-aplikasi lain yang tidak memerlukan kompatibilitas dengan NetBIOS sebaiknya menggunakan interface lain, seperti Windows Sockets, mailslots, named pipes, RPC (Remote Procedure Call), atau distributed COM.
Syntaks dan Parameter
Fungsi NetBIOS memiliki sintaks sebagai berikut:
UCHAR Netbios(PNCB pncb);
Parameter yang digunakan adalah:
pncb
: pointer ke struktur NCB yang menggambarkan network control block.
Return value adalah kode hasil dalam struktur NCB, atau nilai 0 jika komando asynchronous masih pending.
Keterangan
Fungsi NetBIOS juga memiliki keterangan sebagai berikut:
- Fungsi ini menggunakan event manual reset untuk sinkronisasi.
- Penggunaan
ncb_event
untuk mengirimkan request asynchronous memerlukan sumber daya sistem yang lebih sedikit daripada penggunaanncb_post
.