Geçenlerde benim ev bilgisayarlarından birinde bir WebSocket sunucusu kurmak ve uzak bir bağlantıdan işe almak için çalışıyorum. Ben (Taslak 75 ve 76 destekler) aşağıdaki PHP WebSocket çözümü kullandı:
Niko Kaiser PHP WebSocket Sunucu
Yerel bağlantısından demo sorunsuz çalışır. Ben localhost sadece ince istemci tarafı demo kullanabilirsiniz, benim DNS (garip kısmı) SADECE müşteri dosyasını barındıran bir uzak PHP konak benim ev makinede işaret ve. Javascript WebSocket için benim ev makineye geri çekiyor.
Ben başka bir makine, evde dayanmayan şey kullandığınızda sorun olur. Ben aynı URL'ye gitmek bile, WebSocket bağlamak olmaz. Yani burada olup bitenler:
URL pointing to home machine - Works from home only. Page loads from other PCs but WebSocket wont connect. http://whoisryannystrom.com/tests/socket/client - Works from home only. Page loads from other PCs but WebSocket wont connect.
Ben bu gibi kurulmuş client.html dosyasında WebSocket adresi (ben doğru olduğunu bildiğiniz) var. Bu localhost ve uzak istemci html dosyası aynıdır.
var server = new WebPush('ws://rnystrom.mine.nu:8000/echo');
Sonra sunucunun PHP dosyaları olması gerekir adresleri ne kadar biraz karışık. İşte ben şu anda ne var:
Ana sunucu php (server.php):
$server = new \WebSocket\Server('rnystrom.mine.nu', 8000);
Ve sonra \ sunucu \ lib \ WebSocket (WebSocket sınıf dosyaları, bence ...) Ben 'localhost' kullanın. Ben rnystrom.mine.nu 've' localhost ', ana makine üzerinde çalışması ve bunların hiçbiri ikisi uzaktan çalışmak denedim, bu yüzden bir fark görünmüyor. Ben $ host yapıcısı falan kullanılır inanıyoruz. Ana server.php $ host ne olduğunu tanımlar.
Ben bir kayıp değilim. Gerçekten yapmak istediğiniz tüm WebSockets ile deney başlamak mümkün, ama uzaktan bağlanmak yapamıyorsam bile başlayamaz! Bu uzak masaüstü için ben işimi düzenlemek veya görmek istediğiniz her zaman var hiç eğlenceli!