php でのリアルタイム チャット (Rongyun Communication に基づく) は、現時点では単純な例にすぎません。
今日、インスタント メッセージング ツールという非常に興味深いプロジェクトを目にしました。 QQ のような人気のあるチャット ツールもありますが、自分でチャット ツールを構築するのはやはり興味深いものです。
このケースは Rongyun Communication に基づいており、公式 Web サイトのアドレスは http://www.rongcloud.cn/ で、見栄えの良いページがないため、プラグインを直接使用しています。私の観察によると、このプラグインには最近の連絡先の機能しかありません。まずは簡単なケースに従って実装してみましょう。気に入ったら、自分で学習を続けることができます。
まず、Rongyun アカウントを登録する必要があります。次に、自分でインスタンスを作成します。詳細については、公式 Web サイトの手順に従ってください。私が挙げた例は、直接使用できるテスト キーの 1 つです。まだ tp5 フレームワークの設定方法がわからないので、これ以上は何も言いません。ユーザー情報を実装するためにデータベースを使用する必要はありません。主に機能を皆さんに説明するためのものです。
config.php でさまざまなキーを設定します<?php<br />
//設定ファイル<br />
戻る[<br />
<br />
'APP_KEY' => 'e0x9wycfxxx5q',<br>
'APP_SECRET' => 'F7sI8rkLtv'<br>
];
渡された鍵はとても短いのですが、続けましょう。公式SDKをダウンロードして拡張ファイルに導入しました。直接呼び出すことも可能です。主要部分、チャットページのメインメソッドを始めましょう:
Index.php<?php<br />
名前空間 appindexcontroller;<br />
<br />
rongyunServerAPI を使用します;<br />
thinkController を使用します;<br />
<br />
クラスインデックスはコントローラーを拡張します<br />
{<br />
パブリック関数 _initialize()<br />
{<br />
If (空 (Cookie ('UID'))) {<br />
$this->redirect( url('login/index') );<br />
}<br />
}<br />
<br />
//チャットメインメソッド<br />
パブリック関数index()<br />
{<br />
$appKey = config('APP_KEY');<br />
$appSecret = config('APP_SECRET');<br />
<br />
$rongYun = 新しい ServerAPI( $appKey, $appSecret);<br />
<br />
$tx = "http://www.tk.com/static/images/1.jpg";<br />
If( 2 == cookie('uid') ){<br />
$tx = "http://www.tk.com/static/images/2.jpg";<br />
}<br />
$token = $rongYun->getToken( cookie('uid'), cookie('uname'), $tx );<br />
<br />
$token = json_decode( $token, true )['token'];<br />
$this->assign([<br />
「トークン」 => $トークン<br>
]);<br>
return $this->fetch();<br>
}<br>
<br>
//すべてのユーザー情報<br>
パブリック関数 userInfo()<br>
{<br>
$return['ユーザーリスト'] = [<br>
['ID' = & gt; '名前' = & gt; 'ポートレート' = & gt;
['id' => 2, 'name' => '李思', 'portraitUri' => 'http://www.tk.com/static/images/2.jpg'
];<br>
return json( $return );<br>
}<br>
<br>
//ログインユーザー情報<br>
パブリック関数onLine()<br>
{<br>$return['data'] = [<br>
['id' =&gt; 'status' =&gt;
['id' =&gt;
];<br>
return json( $return );<br>
}<br>
}<br>私は主に効果を実証するために、死ぬほどあらゆる種類のコードを書きました。コードの残りの部分については、私の github にアクセスしてダウンロードし、公式 Web サイトにアクセスして比較してください。主に実行方法を説明します。 login.php:<br><?php
を見てください。
名前空間 appindexcontroller;
<br>
thinkController を使用します;<br>
<br>
クラスログインはコントローラーを拡張します<br>
{<br>
パブリック関数index()<br>
{<br>
return $this->fetch();<br>
}<br>
<br>
パブリック関数 doLogin()<br>
{<br>
$param = input('param.');<br>
<br>
If ('Zhang San' == $ param ['uname']) {<br>
cookie('uid', 1);<br>
クッキー('uname', '張三');<br>
}else if('李思'==$param['uname']){<br>
<br>
Cookie('uid', 2);<br>
Cookie('uname', '李思');<br>
}<br>
<br>
$this->redirect( url('index/index') );<br>
}<br>
}<br> はは、私のログインはユーザーを区別するためだけです (これは実際のプロジェクトには当てはまりません!)。ご覧のとおり、1 人のユーザーは Zhang San、もう 1 人のユーザーは Li Si です。パスワードをランダムに入力するだけです。デモ効果を見てみましょう:<br>
ログインしていない場合は、まずホームページにアクセスしてログインします:
Zhang San を使用してログインしている場合は、Zhang San の ID が 1 であることに注意してください。これは非常に重要です。ユーザー名は正しく、パスワードはランダムに入力されています。ログイン後のページは以下の通りです
セッションの ID (ユーザー ID) を入力し、Li Si と話します。Li Si は 2 です。[セッションの設定] をクリックすると、次のページが表示されます。
チャットを始めましょう:
それからブラウザを再度開きます。別のブラウザである必要があります。ログインし、Li Si を使用してログインすると、以下が表示されます:
Zhang San があなたにメッセージを送ったのを見ました。開いて見てください:
返信することもできます:
ははは、面白いでしょう?もちろん、まだ最も簡単な機能しか実装していませんので、興味のある方は引き続き学習してください。
プロジェクトのダウンロード アドレス: https://github.com/nick-bai/talking プロジェクトはアップロード中です。後から見ることができます。役に立ったら、星を付けてください。