私はRachetを使用しており、与えられたJSコードはhereです。 Chromeのコンソールウィンドウでコードを実行しても、メッセージは表示されません。 conn.send()
は未定義言う:WebSocket:クライアント側でメッセージを受け取ることができません
var conn = new WebSocket('ws://localhost:8080');
conn.onopen = function(e) {
console.log("Connection established!");
};
conn.onmessage = function(e) {
console.log(e.data);
};
更新
サーバーエンドでコード:アクションで
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) {
print "Someone else is here";
// The sender is not the receiver, send to each client connected
$msg = ' Server responds:- '.$msg;
$client->send($msg);
}
}
}
更新#2
チェックを次のようにしても問題であるようだ。
if ($from !== $client) {}
しかし、それはすべてに放送されていることを除去する際に問題がサーバーに次の行だったことが判明したというメッセージ
あなたのPHPコードを共有できますか?具体的には、接続されたクライアントを保管/保管する場所ですか? – brense
@brenseチャットクラスhttp://socketo.me/docs/hello-world – Volatil3
チャットサーバーのウィンドウで、あなたのクライアントが接続していますか? '新しい接続! xxx' – brense