2

我在这个Ratchet库中使用 PHP 中的 websockets。它在我的本地机器上运行良好(没有流浪汉)。

服务器端代码:

$loop = React\EventLoop\Factory::create();
$realtimeApp = new Ratchet\App('localhost', 2282, '0.0.0.0', $loop);
$loop->run();

客户端代码:

var conn = new WebSocket('ws://localhost:2282');
conn.onopen = function (e) {
    console.log("Connection established!");
};
conn.onerror = function (e) {
    console.log("Connection error!");
};
conn.onclose = function (e) {
    console.log("Connection closed!");
    console.log(e);
};

但是,当我在我的虚拟机中使用它时(带有 vagrant),它不起作用。

服务器端代码:

$loop = React\EventLoop\Factory::create();
$realtimeApp = new Ratchet\App('192.168.56.101', 2282, '0.0.0.0', $loop);
$loop->run();

客户端代码:

var conn = new WebSocket('ws://192.168.56.101:2282');
conn.onopen = function (e) {
   console.log("Connection established!");
};
conn.onerror = function (e) {
    console.log("Connection error!");
};
conn.onclose = function (e) {
    console.log("Connection closed!");
    console.log(e);
};
4

1 回答 1

0

我使用puphpet来生成 puppet 清单。问题是由防火墙引起的。默认情况下,puphpet 会阻止除 22(用于 SSH)和 80(用于 apache 和 ngnix)之外的所有端口。我从 puphpet GUI 创建了防火墙规则并运行vagrant provision它并且它工作。

于 2014-08-09T16:35:00.293 回答