Düğümlerle, engellenmeyen bir TCP sunucusu oluşturmak çok kolaydır. nodejs.org Örnek: Çok hızlı ve böylece/epoll() şeyler sizin için, soket rutinleri ve C uygulanmaktadır ana döngü - -/anket()PHP'de yüksek performanslı bir eşzamansız soket sunucu uygulaması nasıl uygulanır?
var net = require('net');
var server = net.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.pipe(socket);
});
server.listen(1337, "127.0.0.1")
nodejs select() kolları verimli.
nodejs harika ama ben
Yani bir PHP adam :) çünkü ben, PHP yüksek performanslı TCP soket sunucusu uygulamak istiyorum, ben zaten denedim bir şey soket rutinlerini uygulamaktır PHP'de, socket_create_listen
, socket_accept
, socket_select
vb. ve PHP'deki ana döngü. Bu çok iyi çalışıyor, ama çok verimli olduğunu düşünmüyorum, çünkü socket_select
'u içimde select
C-işlevini kullanmam gerekiyor ama epoll
daha iyi olurdu (Linux kullanıyorum) ama epoll
kullanılamıyor PHP işlevi olarak. (phpsocketdaemon ve phpmio, sizin için soket rutinlerini uygulayan 2 projedir).
Bu nodejs yolunu yapmak mümkün mü? C'deki döngü ve soket rutinlerini uygulayan bir PHP modülünü düşünüyorum ve olaylar için PHP geri arama işlevlerini çağırıyor (onread
, onerror
..). Yoksa bu çabaya değmez mi?
/PHP'deki yüksek performanslı TCP soket sunucusu, eğer birini gördüğümde bir oxymoron gibi görünüyor. –
Bir PHP hayranı olduğum kadar, bu tür bir kullanım için tasarlanmamıştı. İçinde bir sunucu gerçekleştirebilirsiniz, ancak bunu etkili bir şekilde yapmanın gerçek bir başarı olacağını söyleyebilirim. PHP, bu tür kullanıma izin vermek için bazı büyük mimari değişikliklere uğramadığı sürece, işe daha uygun bir şey kullanmanızı tavsiye ederim. – GordonM