ya uykusuzluktan galiba :D recv (man page-den okudugum kadariyla) nonblocking socketlerde bufferde birsey bulamayinca errno olarak EAGAIN donduruyormus bende socketi kapatiyormusum
errno'ya dikkatimi cektiginiz icin cok tesekkur ederim Murat bey pratikte denemek kaldi... ----- Original Message ----- From: "Murat Balaban" <[EMAIL PROTECTED]> To: <freebsd@lists.enderunix.org> Sent: Thursday, March 10, 2005 12:25 PM Subject: Re: [freebsd] multi-threaded server > > Selam, > Gayet alengirli bir sahaya ilk adiminizi atmis bulunmaktasiniz :) > > > - thread'e 1 client atandiktan sonra thread rutinindeki while'in donmesi > > duruyor. ama hala o baglanan client'tan gelen verileri okuyabiliyor. > > while'in donmesi duruyor derken neyi kastediyorsunuz? while'dan mi cikiyor > program takiliyor mu? 1. durumda kodun bir yerinde ya return ya da break > vardir, ikinci durumda da soket blocking mode'da oldugu icin buffer'inda > veri olmayan bir descriptor'da block olmustur. > > > -socketin blocking oldugunu dusunerek nonblocking yaptigimda client'tan > > data geldikten sonra sonra tekrar okumaya calistigimda -1 aliyorum. > > errno ne? > > > -her thread'e 1er client atandiktan sonra baglanan clientlarin isleri > > yapilamiyor. yani recv ile gelen datayi alamiyorum. > > recv ya hata doner, donmuyorsa da socket buffer'da veri yoktur. > > > - thread rutinin icinde select(2) kullanmaya calistim fakat bu sefer bagli > > clientlardan recv ile data alamiyorum. > > Bence Ricahrd Stevens'in Unix Network Programming kitabini heen edinin > ve initial kisimlarini okuyun. > > Ikinci tavsiyem de multithreaded bir server dizayni yerine, multiprocess > ve shared memory, pipe, message queue gibi IPC mekanizmalarini kullan > diginiz bir server dizayn edin. Multithreaded bir server programlamak, > gerektirdigi dikkat ve istedigi uzmanliktan dolayi su an icin sizin > icin bayagi basagrisi olabilir. > > Murat > > --------------------------------------------------------------------- > Cikmak icin, e-mail: [EMAIL PROTECTED] > Liste arsivi: http://lists.enderunix.org ve http://www.mail-archive.com/freebsd@lists.enderunix.org > Turkiye'nin ilk FreeBSD kitabi: http://www.acikkod.com/freebsd.php > > > --------------------------------------------------------------------- Cikmak icin, e-mail: [EMAIL PROTECTED] Liste arsivi: http://lists.enderunix.org ve http://www.mail-archive.com/freebsd@lists.enderunix.org Turkiye'nin ilk FreeBSD kitabi: http://www.acikkod.com/freebsd.php