2

EC2 インスタンスでソケットを使用しようとしていますが、コードを実行しようとすると、次のエラーが発生します。

PHP 警告: socket_bind(): アドレス [99] をバインドできません: 45 行目の sockets_test.php で要求されたアドレスを割り当てることができません

関連するコードの一部を次に示します。

$CFG = new stdClass();
$CFG->chat_serverip = 'MY_PUBLIC_EC2_IP';
$CFG->chat_serverport = '9111';

$listen_socket = socket_create(AF_INET, SOCK_STREAM, 0))
socket_bind($listen_socket, $CFG->chat_serverip, $CFG->chat_serverport)

127.0.0.1 またはプライベート IP を使用する場合、これは問題なく機能します。私のセキュリティグループにはルールがあります:

0-65535 0.0.0.0/0 (TCP)
0-65535 0.0.0.0/0 (UDP)
ALL 0.0.0.0/0 (ICMP)
4

2 に答える 2

6

外部 IP にバインドすることはできません。内部 IP にバインドし、そのポートを許可するルールを設定して、外部 IP とポートに接続すると内部 IP にリダイレクトされるようにする必要があります。

于 2012-05-23T13:58:52.553 に答える
-1

Phantomjsにはいくつかの質問があります。

We can't see at that の外部 IPではなく、 We can see at ifconfigの内部 IPをバインドする必要があります。

于 2015-01-30T03:25:50.443 に答える