お世話になっております。
下記の問題、知見のある方ご教示お願いいたします。
#起こっている問題
http://challenge.no1s.biz/programming/php/158
上記サイトを参考に、WebSocket
の環境を構築し実行したのですが、
うまくいきません。
index.html
を開いても下記のような画面になってしまいます。
#確認したこと
参考サイト(http://challenge.no1s.biz/programming/php/158)の指定しているパスを
自分の環境に合わせました。
また、Ratchet
等も正常に入っていることを確認いたしました。
#ファイルパス
htdocs Lbin Lchat-server.php Lvendor\cboden\ratchet\src\Ratchet LMessageComponentInterface.php LConnectionInterface.php LHttpServer.php Lvendor\cboden\ratchet\src\Ratchet\Server LIoServer.php Lvendor\cboden\ratchet\src\Ratchet\WebSocket LWsServer.php | autoload.php
#各ファイル
###Chat.php
<?php namespace htdocs; use vendor\cboden\ratchet\src\Ratchet\MessageComponentInterface; use vendor\cboden\ratchet\src\Ratchet\ConnectionInterface; class Chat implements MessageComponentInterface { protected $clients; public function __construct() { $this->clients = new \SplObjectStorage (); } public function onOpen(ConnectionInterface $conn) { // Store the new connection to send messages to later $this->clients->attach ( $conn ); echo "New connection! ({$conn->resourceId})\n"; } public function onMessage(ConnectionInterface $from, $msg) { $numRecv = count ( $this->clients ) - 1; echo sprintf ( 'Connection %d sending message "%s" to %d other connection%s' . "\n", $from->resourceId, $msg, $numRecv, $numRecv == 1 ? '' : 's' ); foreach ( $this->clients as $client ) { if ($from !== $client) { // The sender is not the receiver, send to each client connected $client->send ( $msg ); } } } public function onClose(ConnectionInterface $conn) { // The connection is closed, remove it, as we can no longer send it messages $this->clients->detach ( $conn ); echo "Connection {$conn->resourceId} has disconnected\n"; } public function onError(ConnectionInterface $conn, \Exception $e) { echo "An error has occurred: {$e->getMessage()}\n"; $conn->close (); } }
###chat-server.php
&amp;lt;?php use vendor\cboden\ratchet\src\Ratchet\Server\IoServer; use vendor\cboden\ratchet\src\Ratchet\HttpServer; use vendor\cboden\ratchet\src\Ratchet\WebSocket\WsServer; use htdocs/Chat; require_once 'C:\xampp\htdocs\vendor\autoload.php'; $server = IoServer::factory( new HttpServer( new WsServer( new Chat() ) ), 8080 ); $server-&amp;gt;run();
###autoload.php
<?php // autoload.php @generated by Composer require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit25e8efa5a00774f32dd34fc959d900f5::getLoader();
###index.html
&amp;lt;html&amp;gt; &amp;lt;script&amp;gt; var conn = new WebSocket('ws://localhost:8080'); conn.onopen = function(e) { console.log("Connection established!"); }; conn.onmessage = function(e) { console.log(e.data); }; &amp;lt;/script&amp;gt; &amp;lt;body&amp;gt; &amp;lt;/body&amp;gt; &amp;lt;/html&amp;gt;
#GitHub
回答1件
あなたの回答
tips
プレビュー