0

Windows ボックスに ejabberd をローカルにインストールしました。ここには、Apache、PHP、および MySQL もあります。また、Digsby を使用してうまく機能することも確認しました。ユーザーを作成したり、メッセージを送信したりして、タイヤを少し蹴りました。すべて問題ありません。

ただし、PHP は stream_socket_client をポート 5222 に使用してストリームを開くことはできません。最も単純なレベルでも:

stream_socket_client("tcp://localhost:5222", $errno, $errstr, 30, STREAM_CLIENT_CONNECT);

タイムアウト エラーを返します。ただし、ポート 5222 で IM クライアントを使用して localhost に接続すると、問題なく動作します。(stream_socket_client を使用して、ポート 80 で localhost への単純な接続を開くこともできます。)

何か案は?私は立ち往生しています!

4

3 に答える 3

1

selinux をオフにするか、Apache が xmpp と通信できるようにする必要があります

于 2012-06-06T04:03:00.113 に答える
1

多くのサーバーは、デフォルトでループバック デバイスをリッスンしないか、::1 または 127.0.0.1 のみをリッスンし、localhost が他方を指しています。次のようにして確認します。

% netstat -an | grep 5222

サーバーがリッスンしている場所を示す LISTEN 行の出力を確認します。

最後に、ボックスの IP アドレスを明示的に接続ホスト名として使用してみてください。

于 2012-06-06T06:03:26.183 に答える
0

場合によっては、何が起こっているのかを正確に確認するために、回線を覗く必要があります。 これらの場合、 Windump(tcpdump)はあなたの友達です。

于 2010-04-05T23:40:12.210 に答える