これらのシステムのうち1つをゼロから作成する方法を学びたいと思います。私はGoogleで多くのジャンクリンクを見つけています。私は、基本的なPHPとMySQLのチャットのための簡単なチュートリアルがほしいので、jQuery/AJAXを使いこなす前にその概念を理解することができます。PHP/MySQLライブチャットを作成するにはどうしたらいいですか?
答えて
非常に単純な出発点
メッセージ
id | user | timestamp | message
のためのデータベーステーブルを持っており、すべての新しいメッセージを読むためのAJAX要求を送信するPHPページを持っています。
これは、リクエストを受信してからメッセージがあるかどうかを確認するためにデータベースをチェックすることを含みます。メッセージがない場合は、ループしてから100ms後にもう一度試してみてください。
Ajaxリクエストがメッセージを返すとき(JSONレスポンスが最も良い)、JQueryを使用してユーザー、時間、およびメッセージをページに出力します。
チャットのライブ部分は難しい部分です。ちょうど始めているのであれば、私はそれをスキップします。 簡単なゲストブックを作成してから、さらに機能を追加します。
ゲストブックの作成方法や、学ぶことができる無料のスクリプトなど、多くのチュートリアルがあります。
ゲストブックを有効にしたら、AJAXポーリングを使用して新しいメッセージを自動読み込みするなどの機能を追加してライブとして表示できます。基本的にAJAXを定期的にサーバーに呼び出すと、すべてのメッセージが取得され、ページに表示されます。
のためにありがとうございます。入ってくる顧客のメッセージを処理して対応するオペレータ(admin)が必要ですか?ですから、私が正しく理解すれば、管理側のスクリプトは、データベースの最新のエントリを(定期的に、10秒ごとにajaxを使って)チェックし、管理者、メッセージの詳細、および対応する顧客に表示します。管理者は顧客を選択して、彼に返信することができます。その後、顧客側では、その顧客をターゲットとしたメッセージを(再び一定間隔で)表示する必要があります。 –
PHP/MySQLは101チャット:
1)ユーザがbrowser
2)ユーザがブラウワーにaddress入る開き
3)ブラウザはHTTP要求
4)server recieves HTTPリクエスト
5)サーバーを送信PHPインタープリタに実行するように指示するPHP script
6)PHPスクリプトconnects〜MySQL database
7)PHPスクリプトretrieves list of messagesは
8)PHPは、HTTPメッセージでHTMLコードで作られた応答とを生成form
9)サーバー)は、ブラウザ
10にHTTPレスポンスを送信し、ブラウザは、HTTPレスポンスから
11)ユーザー・タイプの新しいメッセージをHTMLを描画し、フォームを送信
ここ 12)ブラウザの送信HTTP POSTリクエスト
13)...
見つかり非常に興味深いチュートリアル
これは理論的に質問に答えるかもしれませんが、答えの本質的な部分をここに含め、参考にするためのリンクを提供することが望ましいでしょう(http://meta.stackexchange.com/q/8259)。 –
チャットにphpとmySQLを使用する必要がある場合は、少なくとも未読メッセージ用に別のテーブルがあります。あなたがポーリングするならば、ほとんどの場合100ミリ秒ごとに新しいメッセージのデータベースをチェックする必要があります。合計メッセージテーブルが1000行である場合、100ミリ秒ごとにチェックするとサーバが停止します(特に多くのユーザが接続されている場合)。私は、未読のメッセージのみのテーブルを使用してmySQLデータベースを構造化し、一度読み込んだ古いメッセージの大きなテーブルにそれらを移動します。そうすれば、あなたはいつも大きなテーブルをチェックしません。
redisのような未読メッセージ(memcacheDで使用されているfacebook)にキャッシュデータベースを使用することは、さらに優れています。あなたが特定の上、もう少しそれを焦点を当てた場合、多分 -
であっても、より良いだけですべて一緒にPHPを使用して、私はこの質問は少し曖昧だと思うのNode.js
- 1. pythonでvirtualenvを作成するにはどうしたらいいですか?
- 2. Pythonでramdiskを作成するにはどうしたらいいですか?
- 3. gitでビルドを作成するにはどうしたらいいですか?
- 4. Booでディスパッチテーブルを作成するにはどうしたらいいですか?
- 5. MongoDBでdocを作成するにはどうしたらいいですか?
- 6. Pythonでリストを作成するにはどうしたらいいですか?
- 7. Firebaseでページを作成するにはどうしたらいいですか?
- 8. Linuxでショートカットを作成するにはどうしたらいいですか?
- 9. Rubyでスクリプトを作成するにはどうしたらいいですか?
- 10. JIRAでプライベートタスクリストを作成するにはどうしたらいいですか?
- 11. Pythonでバイナリコンバータを作成するにはどうしたらいいですか?
- 12. セグをプログラムで作成するにはどうしたらいいですか?
- 13. ヒストグラムをPythonで作成するにはどうしたらいいですか?
- 14. Facebookにソーシャルリーダーアプリケーションを作成するにはどうしたらいいですか?
- 15. firebaseにリレーショナルデータベースを作成するにはどうしたらいいですか?
- 16. デーモンアプリケーションを作成するにはどうしたらいいですか?
- 17. django restframeworkを作成するにはどうしたらいいですか?
- 18. カスタムWordpressコメントフォームを作成するにはどうしたらいいですか?
- 19. XMPPアカウントを作成するにはどうしたらいいですか?
- 20. configureスクリプトを作成するにはどうしたらいいですか?
- 21. 動的JListsを作成するにはどうしたらいいですか?
- 22. RESTful電卓を作成するにはどうしたらいいですか?
- 23. XMLHttpRequestラッパー/プロキシーを作成するにはどうしたらいいですか?
- 24. Bluemix:サービスを作成するにはどうしたらいいですか?
- 25. 垂直UIToolbarを作成するにはどうしたらいいですか?
- 26. MSIセットアップを作成するにはどうしたらいいですか?
- 27. シェルトストアを作成するにはどうしたらいいですか?
- 28. DashBoardを作成するにはどうしたらいいですか?
- 29. カスタムキャリアウェーブプロセッサを作成するにはどうしたらいいですか?
- 30. ライブチャットで円グラフスライスを作成
のようなコールバックとイベント駆動型の言語を使用しないことですあなたがそれを心配している面が助けになるでしょう。あなたは、PHP、データベース設計などの専門知識のレベルが何であるかを言わないので、どのレベルのチュートリアルをお探しですか? – Polsonby
フレーム+ 'meta-refresh'はAJAX時代の道のりでした –
どのように曖昧な質問です。すべてのことについて教えることを求めるのではなく、プロジェクトの特定の部分について助けを求めるならば、もっと運があるかもしれません。 –