1. sayfa
| Sorun sunucuya gelen ufak verileri birleştirmekten cok Socket / TCP/IP / Network programlama ile ilgili bir tutorial okumamaktan kaynaklı gibi geldi bana : ) |
|
birçok kaynak okudum fakat bu konuda bir türlü aşama kaydedemedim. konunun başına fazla bilgim olmadığını belirtmedim anlaşılır diye :). rica etsem yardımcı olur musun? bahsettiğin gibi parçalanarak gelen paketleri birleştirmeye çalışıyorum. sorunun çözümü olarak şöyle bir düşüncem var verinin başına ve sonuna özel karakter koyulur. ayrıca veri başında verinin toplam boyutu yazılır. gelen paketleri tek bir değişkende toplanır. veri sonuna koyduğum özel karakterin olduğu paket gelince bütün veriyi almış olur. ama bu fikri uygulamaya geçirmekte sıkıntı çekiyorum. |
|
Yıllar önce deneme amaçlı bir TCP server yaptım. Bahsettiğin sorunu çözerdim fakat şunun gibi http://www.cs.columbia.edu/~danr/courses/6761/Fall00/hw/pa1/6761-sockhelp.pdf bir tutoriala birkaç saat çalışıp konuları hatırlayarak ve birkaç deneme yaparak ancak mümkün olabilir. Fakat netwrok / socket programlama ilerde yapmayı düşünmediğim bir alan o yüzden birkaç saat dahi olsa konuya yatırım yapamam. Şu anda belirtebileceğim tek şey, soketlerde gelen TCP paketleri / byte boyutundaki veriyi tekrar biraraya toparlamak (merge) için socket API'si içinde ilgil fonksiyonlar muhakkak olmalıdır. Yani o işlemi verinin başına ve sonuna özel karakter koymak, veri başında verinin toplam boyutu yazmak gibi elle yaparak olmaz, veya olsa da tekerleği yeniden icat etmiş giibi olursun. |
|
malesef pdf de gelen paketleri toparlamak hakkında bilgi bulamadım.(yeterli ingilizcem yüzünden olabilir) internette bu konuda recv all gibi fonksionlar var fakat onlarda tam anlamıyla işe yaramadı. eğer hala c++ ile ilgili isen verdiğim kaynak üzerinden yardımcı olur musun? soket kütüphanesinde bütün paketleri almak gbi bir fonksion da bulamadım. |
| Neden C++ veya neden C# değil? Ben C#'da soket programlama ile bir program yapmıştım. Ancak bunun için soket.io isminde bir hazır kütüphane kullanmıştım. Youtube' da bir video bulmuştum. Onun linkinden indirmiştim. Videodaki örnek uygulama üzerine kurmuştum. |
| Amaç nedir? bitti artık soketlerle network programlama. Client-server kalmadı. Bir web server kuruyorsun, html+javascript+php ile her işini görüyorsun. Üzerinde çalıştığın kodu en son 1996 yılında falan görmüştüm. Boş işler bunlar, ingilizcede procrastination denir, esas üzerinde çalışman gereken ama gerçekte seni aşan konuları ötelemek için kendini boş işlerle meşgul etme hastalığıdır. |
|
|
arkadaşlar değerli yorumlarınız için teşekkür ederim. c++ ile yapıyorum çünkü bu dil daha uygun geliyor bana. socket programlamanın bittiğini düşünmüyorum. zira ihtiyaçlara göre çözümler üretilir. web servis belirli ihtiyaçlara cevap verir. ileri seviye bir soket kütüphanesi güzel bir çözüm fakat kendine göre sıkıntıları var. ben c++ uygulamamı bana en yakın düzeyde kavrayarak ilerlemek istiyorum. sorun hala devam ediyor. görüşlerinizi dikkate alıyorum ve bana bir şeyler katıyor. tekrar teşekkür ederim esen kalın :) |
| Parçaları birleştirmek çok zor mu? Array içine gelen veriyi vector gibi birşeye koyarak halledemez misin? |
1. sayfa
Amacım parçalı gelen paketleri birleştirerek almak. İnternette bu konuda birçok yere baktım fakat bir türlü çözemedim.
Proje kodları : ghostbin.com/paste/xhu8q
Proje indirme linki : s7.dosya.tc/server6/ltzvvh/ProSoketim.zip.html
Projeyi VS 2015 ile oluşturdum ama sürüm farkı olmaz herhalde.
Yardımcı olursanız sevinirim :)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.