Bilmek istediğin her şeye ulaş

PHP'deki Socket ne işe yarar, Socket ile neler yapılabilir ?

Soket, ağdaki bir bilgisayar ile bilgi alışverişi yapabilmemiz için uygulama katmanını iletim katmanına bağlayan bir yoldur (örneğin php programınızdan tcp arasında). Genellikle işletim sistemleri soket oluşturmak için api desteği sağlarlar (Socket Api).


Php'deki soket veya başka bir dildeki soket arasında pek bir fark yoktur. Aklınıza gelen tüm ağ iletişimi için soket kullanmak gerekir (başka bir yol var mı bilmiyorum).


Öncelikle php - websocket iletişimini araştırmanızı ve basit bir chat uygulaması yapmanızı tavsiye ederim.


Güncelleme - Örnek :

Örneğin php ile oyun sunucusu yazdınız ve bir de oyun var, karşı tarafta 2 oyuncu var (A ve B olsun). A bir hamle yaptı ve program sunucuya http post metoduyla veriyi gönderdi. B bu hamleyi görmek istiyor, eğer soket ile bağlantı kurmazsak devamlı HTTP GET ile yeni bir hareket var mı diye sunucuya istek göndereceğiz fakat bu sunucu ve istemci için fazlasıyla maliyetli. Bunun yerine A ve B soket yardımıyla taşıma katmanına istek gönderip sunucuyla bir bağlantı oluşturur. Artık sunucu ve istemciler arasında kalıcı bir bağlantı var. A oyuncusu bir hamle yaptığında bunu bu bağlantıdan sunucuya iletiyor. Sunucu bu hamleyi Sunucu-B bağlantısından B oyuncusuna iletiyor (push notification). Yani B oyuncusu artık devamlı sunucuya istek yapmak zorunda değil ve daha kısa sürede bilgi alışverişi olmuş oluyor.

  • Paylaş
5

Aydın Bulut, yanıt için teşekkür ederim, araştırdım fakat php socket ruby çıktı devamlı karşıma, dediğiniz gibi bir deneme amaçlı script hazırlamaya çalışacağım, bu socketi anlamamda daha etkili olacaktır diye düşünüyorum. Peki somut olarak başka ne gibi örnek verebilirsiniz chat dışında.

Ali Davut, 1 örnek daha ekledim

Aydın Bulut, örnek işlevi açıklayıcı oldu teşekkür ederim bende bu şekilde tahmin ediyordum; fakat takıldığım nokta şu bir örnek budum php websocket chat için node.js kullanılşmış, node.js ile bir port oluşturulmuş galiba, sadece ve sadece php kullanılarak(arkplanda) socket üzerinden chat scripti yazılabiliyormu, yada bunun için ayrıntılı basit anlatımının bulunduğu bir makale, forum, kitap, manuel vs. varmı acaba ?

Ali Davut, Malesef php ile ilgili pek bilgim yok ben genel olarak mantığını anlatmaya çalıştım,

Aydın Bulut, peki sağolun.

Sadece PHP ile halledebilmenin bir yolu yok. Browser üzerinden socket açabilme HTML5 ile eklendi. HTML5 (ve javascript) ile kullanıcı ile sunucu arasında socket açabilirsiniz. HTML5 öncesi (ve şu anda desteklemeyen tarayıcılarda) değişik yöntemler uygulanarak bu soruna bazı çözümler üretilmiştir. Commet, long polling bunlara örnek.

  • Paylaş

Teşekkürler yanıt için.

  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

2160 Görüntülenme4 Takipçi3 Yanıt