[VC++]
WSARecv ile paketleri dinleyip bir kuyruğa ekleme yapıyorum
Sırayla paketleri işleyerek tekrar WSARecv'i başlatıyorum normal olarak.
Sorun şu ki. Saniyede 1000 Paket Geldiği zaman CPU Tavan yapıyor.
Bunun için Bir Çözüm vs. Varmıdır
VC++ WSARecv CPU sorunu
3
●337
- 06-12-2016, 21:02:54hic kullanmadim (daha dogrusu cpp ile pek isim olmuyor hatta hic isim olmuyor),
ancak bu durumlarda multi-threading in nimetlerinden faydalanmak gerekiyor.
burada bir kucuk makale var
http://www.serverframework.com/async...ad-safety.html
ve orada verilmis bir link var, ornek kodu inceleyebilirsin.
http://stackoverflow.com/questions/2...l-c-on-windows
ve ayrica "multithreaded socket programming in c++" gibi bir arama sana bir cok kaynak getirecektir. - 06-12-2016, 23:33:46paketlerin hepsini islemek zorunda misin?
ayrica saniyede gelen paketlerin bu kadar yük olusturacagini sanmiyorum, yani bir saniyede alabilecegin max. veri bellidir ki o kadar bile geldigini dusunmuyorum ve cpu ozellikle core sayisi fazlaysa bu olayi kolaylikla kaldirir, muhtemelen kodlamadan kaynakli bir sikinti yasiyorsun. O yuzden orneklere baksan ve socket programlama ile ilgili kitaplara goz atsan daha faydali olur.
forumda pek c++ ile ilgilenen yok zaten.
aklima geldi, buffer degerini buyuterek de bir cozume ulasabilirsin, gelen verileri buffer'a atip belli bir sure sonra onlari isleyip buffer'i bosaltman daha faydali olabilir. dedigim gibi bunla ilgili ornekleri incelemen sana kod yaklasimi konusunda fikir verecektir