WebSocket을 통해 symfony 프로젝트에서 간단한 채팅 페이지를 만들려고합니다. 우선은 React-php 라이브러리가 완벽 터미널에서 작동을 사용하지만 브라우저에 연결하려고 할 때 나는 크롬에이 오류에 직면WebSocket이 서버에 연결할 수 없습니다.
Uncaught Error: INVALID_STATE_ERR: DOM Exception 11
와 파이어 폭스
Firefox can't establish a connection to the server at ws://localhost:8000/.
에 다음으로 Ratchet 라이브러리를 사용 튜토리얼을 따르되 여전히 동일한 문제, 터미널에서 작업, 브라우저의 오류. 내가 브라우저 단자와 자바 스크립트에 telnet localhost 8000
사용하는 또 다른 것은 클라이언트 페이지 URL localhost/X/chat
입니다
var conn = new WebSocket('ws://localhost:8000');
conn.onmessage = function(e) {
console.log(e.data);
};
conn.send('Hello World!');
래칫
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/chat.php';
use Ratchet\Server\IoServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
$server = IoServer::factory(new WsServer(new Chat()), 8000);
$server->run();
에 대한
require __DIR__.'/../vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$conns = new \SplObjectStorage();
$socket->on('connection', function ($conn) use ($conns) {
$conns->attach($conn);
$conn->on('data', function ($data) use ($conns, $conn) {
foreach ($conns as $current) {
if ($conn === $current) {
continue;
}
$current->write($data);
}
});
$conn->on('end', function() use ($conns, $conn) {
$conns->detach($conn);
});
});
$socket->listen(8000);
$loop->run();
와 서버 코드 반응의 서버 코드 그리고 서버 localhost/X/server
, 내가 시도한 ws://localhost:8000/X/server
하지만 여전히 작동하지 않습니다
아니요, httP를 사용하지만 여전히 작동하지 않습니다. – Erfan
2 라운드, 나는 나의 대답을 편집했다. – igorw
연결이 올바르다면'conn.send()'를 사용할 수 있습니다. 그러나 귀하의 코드를 시도했지만 여전히 작동하지 않습니다. – Erfan