これは簡単な質問のように見えるかもしれませんが、私の考えはうんざりです。デーモンを実行できないとします。websocketサーバーを設定するにはどうすればいいですか?デーモンを実行しないでWebSocketサーバーを設定する
(詳細:Apacheの2.2.21、PHP 5.3.9、それほど好ましくはPHPで)
これは簡単な質問のように見えるかもしれませんが、私の考えはうんざりです。デーモンを実行できないとします。websocketサーバーを設定するにはどうすればいいですか?デーモンを実行しないでWebSocketサーバーを設定する
(詳細:Apacheの2.2.21、PHP 5.3.9、それほど好ましくはPHPで)
:HOWTOから
。
PHPには、古いHixie WebSocketプロトコルと新しいHyBi/IETFプロトコルを同時にサポートする優れたオプションはありません(ほとんどの言語には、両方をサポートするサーバーがあります)。
http://code.google.com/p/phpwebsocket/は、古いHixieプロトコルのみをサポートしています。これはiOSデバイス(iPhoneとiPads)に適しています。
http://code.google.com/p/php-websocket-server/は、他のほとんどのブラウザの最新バージョンがサポートする新しいHyBi/IETFプロトコルのみをサポートしています。
あなたは非PHPのオプションを検討して喜んでいる場合は、これらのプロジェクトは、Apacheに統合され、プロトコルの両方のリビジョンをサポートすることができます。
http://code.google.com/p/phpwebsocket/
サーバーは、そうでない場合は、サーバーのポイントは何でしょう...デーモンとして実行する必要がありますか?
http://code.google.com/p/phpwebsocket/がお手伝いします。私は、あなたは、Apache/PHPでなく、あなたが実行する必要があり、スタンドアロンプログラム/サーバーとして実行され、何かを求めていると仮定デーモンを望んでいないことで
// Server side
log("Handshaking...");
list($resource,$host,$origin) = getheaders($buffer);
$upgrade = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" .
"Upgrade: WebSocket\r\n" .
"Connection: Upgrade\r\n" .
"WebSocket-Origin: " . $origin . "\r\n" .
"WebSocket-Location: ws://" . $host . $resource . "\r\n" .
"\r\n";
$handshake = true;
socket_write($socket,$upgrade.chr(0),strlen($upgrade.chr(0)));
// Client side
var host = "ws://localhost:12345/websocket/server.php";
try{
socket = new WebSocket(host);
log('WebSocket - status '+socket.readyState);
socket.onopen = function(msg){ log("Welcome - status "+this.readyState); };
socket.onmessage = function(msg){ log("Received: "+msg.data); };
socket.onclose = function(msg){ log("Disconnected - status "+this.readyState); };
}
catch(ex){ log(ex); }
まだZeroMQのようなデーモンが必要です –