Soketleri üzerinden php-Flash iletişim

2 Cevap php

Günün iyi bir zaman, sevgili geliştiriciler!

Ben ağ programlama yanlısı her türlü değilim, ama ben flaş çok oyunculu tarayıcı oyun (vb yerle takım savaşlar gibi stveart özellikler) için php soket-sunucu geliştirmek için gerekliliğini (Java kullanarak için hiçbir yolu) ile karşı karşıya olduklarını oldu.


Asıl sorun, TCP noktadan-noktaya protokol ve tamamen verilen liman kaplar.

Tabii ki soket bağlantılarını yönetecek kuyrukta çeşit oluşturmak mümkündür, fakat bu çözüm olanın biri gibi görünüyor değil.

Bu bir istek yürütmek ve oyuncuların kuyrukta beklemek mutlu olmayacak çok zaman alabilir, çünkü (örneğin 2000-2200), "adil" limanların aralığını kullanarak, daha uygun bir çözüm gibi geliyor bana.

But how can I implement this "port inteval" strategy? The solutions that I see vardır:

  • Her port başına php-script launcing (o-o başlattı komut 2 yüzlerce!);

  • nasılsa yeni süreçlere ilk süreci (? çok işlenmiş hoş değil 2 yüzlerce), her port için bir bölmek;

  • (çok kötü görünüyor) tüm portları dinler ek süre döngü;
  • parçacığı ya da böyle bir şey (; PCNTL? sorun php tek dişli olarak bildiğim kadarıyla, olmasıdır) kullanarak.

Ama nedense bunlardan herhangi sevmiyorum, ya da en azından en iyi şekilde bunları uygulamak için nasıl bilmiyorum.

Nasıl php bu stratejiyi uygulamak için en iyi mevcut gecikmeler zaman birimi başına birden fazla kullanıcı birden istekleri işlemek için strateji ve nedir? Biz kendi Debian-sunucusu var, bu yüzden herhangi gerekli php uzantılarını kullanmak mümkündür.

Kalkınma, planlama ve sistemlerin bu tür uygulanması hakkında herhangi bir tavsiye highlhy takdir edilmektedir.

Thank You!


Edit 1: By the way, I've forgotten to mention some extra details.

Örneğin, sohbet uygulaması geliştirmek için çalışıyoruz, biz her kullanıcı için bağlantı (I kalıcı ortalama) sabit çeşit gerekir. Örneğin, sohbet 80 kullanıcımız var, ve daha sonra bunlardan biri de geçmiş dosyası veya bunun gibi bir şey bir giriş koyarak, sunucu işleyebilir ve diğer tüm bağlı kullanıcılara göndermek için çalışır bir mesaj gönderdi.

In this situation polling server for new messages every 10 seconds from each of 80 users is craziness, so the need in persistent connection gets obvious. But I don't know what is the best way to implement something like this, considering that not all requests vardır hveled instanlty.

2 Cevap

Flash için çok kullanıcılı iletişim için en iyi yoldur RTMP olduğunu. FMS veya Red5 arayın. Bu php değil, ama bu doğru bir yol olduğunu düşünüyorum.