Re: [programming] ngebebasin port
--- Ronux Sadrux [EMAIL PROTECTED] schrieb: iya program saya tuh namanya program abcd.pl ... dia nge-bind ke port 1234 kadang2, dia gak respon sama paket2 yang dateng ke dia ... nah kalo udah gitu, saya ctrl-c --- program mati ... nah, ketika saya jalankan si abcd.pl lagi, dia gak bisa nge-bind port 1234 lagi, soalnya port tsb masih dianggap dipake oleh si abcd.pl lama yang udah di-ctrl-c itu ... gitu lho ... Kemungkinan besar kuncinya di sini,socket yang anda bikin tidak di closed dengan cara semestinya. Anda harus membuat handler yang menangkap signal Ctrl+C , dan disini socket anda harus ditutup dengan semestinya. Eko __ Do You Yahoo!? Gesendet von Yahoo! Mail - http://mail.yahoo.de Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] ngebebasin port
kadang2, dia gak respon sama paket2 yang dateng ke dia ... nah kalo udah gitu, saya ctrl-c --- program mati ... nah, ketika saya jalankan si abcd.pl lagi, dia gak bisa nge-bind port 1234 lagi, soalnya port tsb masih dianggap dipake oleh si abcd.pl lama yang udah di-ctrl-c itu ... gitu lho ... nah, biar si abcd.pl saya itu bisa jalan lagi, berarti si port 1234 itu harus di'bebasin' dulu kan? saya perlu informasi itu saja (dulu) .. hehehe .. knp gak dijadiin aja input port-nya argumen tersendiri- abcd.pl -port supaya portnya gampang diganti2. --he..he biasanya port yg udah diassign (programnya udah diterminate) bakal ilang sendiri tergantung waktu delay. saya lagi nyari2 bug program ini kok ... kenapa dia nggak respon paket, tapi untuk emergency-nya, ya skr saya hanya perlu cara nge-bebasin port 1234 itu saja dulu ... agak barbar memang, tapi jauh lebih baik daripada saya musti reboot linux-box saya kan? .. lebih baik juga kalo pake C dengan setsockopt-nya dan SO_REUSEADDRnya. (apa perl punya identik setsockopt ??) regards, -rurie- Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] ngebebasin port
On Sat, 28 Apr 2001, rurie muharto wrote: tapi untuk emergency-nya, ya skr saya hanya perlu cara nge-bebasin port 1234 itu saja dulu ... agak barbar memang, tapi jauh lebih baik daripada saya musti reboot linux-box saya kan? .. lebih baik juga kalo pake C dengan setsockopt-nya dan SO_REUSEADDRnya. (apa perl punya identik setsockopt ??) punya, ada di manual perlfunc -- Salam Yohanes http://www.negeriimpian.com Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] ngebebasin port
SO_REUSEADDR, selama proses penutupan soket server, port ybs tidak dibisa langsung dipakai listen lagi oleh proses lain (kl sekitar 30 detik. CMIIW) lebih deh dr 30 detik masalahnya program di client error-handler-nya gak begitu bagus kalau ada 'access denid' -- port yang gak ada yang listen ... --- emang program dadakan nih .. hehehe kalo lebih dr 30 detik, kelamaan deh kalo port di abcd.pl diganti2, harus ngerubah di client donk? itu lebih berabe lagi emang kesimpulan saya sih, saya musti ngebenerin programnya --overall-- dan ini sedang saya kerjain, thx for your attention ronux. Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] ngebebasin port
On Sat, Apr 28, 2001 at 01:01:50PM +0700, Yohanes Nugroho wrote: BTW, sepertinya ini tidak berhubungan langsung dengan pertanyaan. setsockopt() setahu saya untuk bisa melakukan multiple listen() pada satu socket ... benar ups.. sorry, saya salah ternyata :-) programnya gagal waktu bind karena portnya sudah terpakai, kalau portnya di reuse programnya bisa membind port yang sama jadi tetap bisa jalan kalau dijalankan 2 kali. Socket desc yang berbeda nggak pengaruh untuk proses bind. Yup. khusus untuk tcp, selama ada proses aktif yang listen() di (local) address yang sama, maka bind() akan gagal. Dalam hal ini SO_REUSEADDR hanya berfungsi dalam hal: proses 'parent' yang melakukan listen() berhenti, tetapi masih ada child yang aktif di (local) address yang sama. Jadi dalam hal ini melacaknya sbb: waktu 'macet' stop server, jalankan 'netstat -tnl', kalau masih ada yang listen di (local) address yang sama, option SO_REUSEADDR tidak akan membantu. BTW, nampaknya penggunaan option SO_REUSEADDR untuk tcp server boleh dibilang good practice ya .. ini karena saya lihat semua aplikasi tcp server pakai option ini :-) Salam, P.Y. Adi Prasaja Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]