Flaş ve PHP, canlı kullanıcı ortamı: nasıl yuvalarını kullanabilirim?

4 Cevap php

Ben Flash bir ortamda birlikte en az iki kullanıcı getirmek yapabilirsiniz öğrenmek için Google'ı temizleme oldum. Hem kullanıcılar hem de yük http://example.com/myflashenvironment.html, ve o sayfadaki aynı flashenv.swf ikisi iki farklı bilgisayarlardan görmek dosyasını var: Ne yapmaya çalışıyorum örneğin,. Yılında flashenv.swf sürüklenebilir bir film klibi nesnesi vardır. Ben kullanıcı 1 Movieclip sürükler eğer kullanıcı 2 bu anlaşma online türü bir tür Internet üzerinden, sürüklenen görebilirsiniz bunu yapmak istiyorum. Ben bir online oyun gibi, zamanında bunu yapmak için çalışıyorum.

Ben google arama oldum ve yuva hakkında bir şeyler buldum, ama doğru bana zaman sadece atlamak çok zor. Ben şimdiye kadar fsockopen ile benim sunucuya bir CONNECT oluşturur, ve sonra ben bir yuva oluşturmak için gereken bir PHP dosyasını gerektiğini anlamaya çalıştım? Ama sonra (x, y) yazmak kullanıcı 1 var biliyorum o sürükler zaman MovieClip koordinatları ve kullanıcı otomatik olarak 2. o aynı koordinatları pick up yok.

Ve inanın bana, ben kimse ben neden bahsettiğimi biliyordu görmek için son çare olarak bu kullanılır. Google sadece bu gece kesim değil.

4 Cevap

Aslında yuva nasıl kullanılacağı üzerinde okumak gerekir gibi bana geliyor. Onlar nasıl çalıştığını anlamak, nasıl sizin program yapısı gerektiğini çok net olmalıdır. Eğer diğer kullanıcı (örneğin bir koordinat değişikliği gibi) görmek istediğiniz ile küçük bir nesneyi serialize olabilir.

Ama boşver o, PHP ne istediğiniz değil. PHP bu tür bir şey için yapılmaz. Ne gerek bağımsız sunucu çeşit - örneğin, C + + veya Java kullanarak kendi rulo olurdu. PHP kısa istekleri için yapılır - Eğer bir sunucu olarak çalıştırılamaz. Evet, yuva var, ama onlar da hızlı tek-shot bağlantıları için yapılmış demektir. Sen her zaman çalışır bir şey gerekiyor, ben varsayarak yaşıyorum.

Kendi rulo istemiyorsanız zaten yapılan flaş çok kullanıcılı sunucular bazı kontrol etmelisiniz. Red5 ücretsiz biridir ve SmartFoxServer, bir daha tam özellikli sunucu, ama (onlar ücretsiz bir sürümü var, ama sadece birkaç eşzamanlı kullanıcıyı destekler) ücretsiz değildir.

Çoklu kullanıcı Flaş tamamen yeni iseniz, ben SmartFox Server kullanarak öneririz. Kullanması çok kolay ve birçok dersler vardır.

Eğer php istediğiniz soket sunucu oluşturmak mümkün, ama gerçekten bunu tavsiye etmiyoruz.

Geleneksel php scriptler için fark tarayıcı üzerinde deniyor gibi çalıştırmak olmaz, ancak uzun süren bir (think sonsuz döngü) cli-sunucu uygulaması (daha fazla java gibi)

basitleştirilmiş bu gibi çalışır:

  1. php: komut başlar ve gelen istek için dinler
  2. Flaş: Flaş uygulaması başladı ve sunucuya bağlıyor
  3. php:, (2), bağlantı bir dizi saklanır
  4. Flaş: kullanıcının kendi Movieclip taşırsa, şimdi koordinatları komut gönderilir
  5. php: verileri (4 ila koordinatları) geldi. Şimdi tüm bağlantıları döngü ve ...
  6. ... Tüm diğer MovieClip'lere için veri göndermek
  7. Flaş: (6'dan) veri gelirse, mc konumunu güncellemek buna göre
  8. Flaş bağlantı sonlandırılır ise, diziden çıkarın

the problems: - php is not really well suited for this - you still have to learn about sockets. there are lots of tutorials on this topic, but most of them cover only single connections. - depending on where you host it, your provider might not support long-running php-cli apps

Kendi sunucu yazmak gerek yok, prizler veya diğer karmaşık ve zaman alıcı tekniklerini kullanın.

Adobe tam olarak bu amaç için shared object class yaratmıştır. Sen Flash Media Server (veya eşdeğeri) çalıştıran bir sunucu var ve kullanmak gerekir remote shared objects.