私はIM機能を備えたプロジェクトに取り組んでいます。私たちは、チャットメッセージと通知をサポートする自己製作のサーバーを構築しています。クライアント(iphone、アンドロイド、ウェブ)はサーバーとの長いHTTP接続を行い、IMメッセージとシステム通知を取得します。接続管理機能としてApacheを使用していますが、CLOSE_WAITの問題が発生します。 オープンソースXMPPサーバーをopenfireまたはejabberedとして使用すると、完全なIMおよび通知機能を利用できます。しかし、我々はXMPPサーバと統合してWeb IMのための機能を作る努力が必要です。私たちのプロジェクトの提案はありますか?ありがとうございました。XMPPまたは自作サーバを選択する必要がありますか?
2
A
答えて
12
インターネットベースのシステムを構築するときは、標準化されたプロトコルを試してみてください。そのため、相互運用性を確保するためにIETFが存在します。
XMPPの使用が難しいというご意見はありますが、実際にはそれはまったくではありません。単純にXMLをストリーミングしており、非常に拡張性があります。すでに利用可能なライブラリのリストを見てください。数時間でXMPPチャットを開始することができます。
サーバでは、トラフィックが多い場合はejabberd、商用ソリューションの場合は使いやすさ、Isodeをおすすめします。
もう1つの選択肢は、ProcessOne、CleartextなどのXMPPホスティングプロバイダを使用することです。
0
あなたのニーズに応じて、XMPPは非常に柔軟性があり、IM以上のことができます。また、標準化されているため、後で必要に応じてより多くのサービスを組み込むことが容易になります。しかし、必要なのはログインしたユーザーのための簡単なチャットルームです。残念です。代わりのものはFayeまたはそれに類するもののような本当に軽いものかもしれません。
FayeはNode.jsとRuby/Rackをベースにしていますが、それらがあなたに合っていない場合は他のプラットフォームでも同様のものを見つけることができます。
関連する問題
- 1. 選択したテキストをスクランブルする必要があります
- 2. VPSのKVMまたはOpenVZを選択する必要がありますか?
- 3. Angular1またはAngular2を選択する必要がありますか?
- 4. Visual C++ 2010または2008を選択する必要がありますか?
- 5. Linuxでc#を選択する必要がありますか?
- 6. 私は選択する必要がありますインデックス(MySQLの)
- 7. jquery mobile:選択メニューは2回選択する必要があります
- 8. WCFセキュリティ - トランスポートまたはメッセージセキュリティで選択する必要があります
- 9. セレンでemを選択する必要があります
- 10. 私は自分自身のUITableView "multSelected"配列を複数選択する必要がありますか?
- 11. を選択するとChromeで動作しない必要があります
- 12. 私はどのItemControlを選択する必要がありますか?
- 13. なぜ私はブランチマスタを選択する必要がありますか
- 14. 選択リストデータをビューに送信するか、データ自体を取得する必要がありますか?
- 15. テーブルを自動リフレッシュすると、選択した行のセル値を取得する必要があります
- 16. リアクタ `browserHistory`:サーバ上でレンダリングする必要がありますか?
- 17. SpannableStringが必要ですか、別のソリューションを選択する必要がありますか?
- 18. Androidで許可チェックを行うには、ContextCompatまたはPermissionCheckerを選択する必要がありますか?
- 19. XMPPアプリケーションは他のクライアントをフィルタリングする必要があります。 Pidgin out
- 20. ブラウザ用のActiveX。どちらがVB6または.NETを選択する必要がありますか?
- 21. BrowserTest:dropdrownから動的値を選択する必要があります
- 22. FIWARE - IDAS:どのIoT-Agentsプロトコルを選択する必要がありますか?
- 23. どのデータ構造を選択する必要がありますか? [Androidディクショナリ]
- 24. ダイアログプリファレンスから連絡先を選択する必要があります
- 25. JavaScriptを選択に基づいて選択する必要があります。選択リスト
- 26. Oracle XEまたはMySQLのいずれかを選択する必要がありますか?
- 27. Css Hover Selectorは完全な行を選択する必要があります
- 28. 私はCheckListBoxで私の選択を制限する必要があります
- 29. 選択した「オプション」データのみを渡す必要があります
- 30. TYPO3テキストメディア要素は、選択したシステムカテゴリからクラスを取得する必要があります
プロジェクト名、つまり韻文をありがとう。私は一般的なアイデアに同意し、準備が整ったサーバをインストールすることは、独自の(ソケット)ソリューションを開発(およびデバッグ、デバッグ、デバッグ)するより簡単です。 –