私はサーバーホスティングの初心者であり、iphone/Androidアプリにマルチユーザーチャットルームを実装したいと考えています。 xmppが実装する必要があるものであり、サーバーの場合、ejabberdが適切な選択であることがわかりました(スケーラビリティと信頼性のため)。
Cesare Rocchi で1つの記事を見つけました。テスト用にejabberdサーバーを起動する方法を示しています(私のバージョンのejabberdは2.1.13で、チュートリアルのバージョンは2.1.8ですが、試してみてください)。不合格。著者は、iChatとAdiumを使用して、起動後にサーバーが正常に機能しているかどうかをテストしました。ドメインを「localhost」、管理者を「vivi @localhost」として設定する彼の手順に従います。 ejabberdのWebページ管理インターフェースのアクセス制御リストに、「user @localhost」というユーザーを追加します。 Adiumで、接続サーバー「localhost」とポート番号5222のxmppユーザー「user @ localhost」を追加します。ただし、「エラー:サーバーが接続を閉じました」というエラーが表示されます。
コマンド「netstat-an | grep LISTEN」を入力して、5222ポートが現在リッスンしていることを確認してみました。 ejabberdサーバーを停止すると、Adiumのステータスがエラーに変わります:接続できません。何かが接続をブロックしているように見えます。
私は数日間グーグルで解決策を試しましたが、適切な解決策を見つけることができませんでした。この問題の可能な解決策を提案できる人はいますか?
あなたが試すべきいくつかのポイントがあります。まず、アバターセットがないか、低解像度であることを確認します。これには Adiumとejabberdに関連する未解決のバグ があります。次に、Adiumをデバッグモードで起動し(起動中はOptionを押したままにします)、ログ出力を取得してAdiumの内容を確認できます。
接続のセキュリティオプションを確認することも価値がある場合があります。デフォルトでは、ejabberdは自己署名証明書を使用するため、厳密な確認は失敗します。また、ejabberdのpubsub機能で問題が発生し、Adiumクライアントで問題が発生し、無効にする必要がありました。これを行うには、%%
のpubsubのmodule
ディレクティブをコメントアウト(ejabberd.cfg
)します。