Heim > PHP-Framework > Workerman > Hauptteil

workerman+thinkphp erstellt einen einfachen Chatroom

藏色散人
Freigeben: 2020-01-14 14:39:06
nach vorne
4344 Leute haben es durchsucht

In der folgenden Spalte des Workerman-Tutorials erfahren Sie, wie Sie einen einfachen Chatroom erstellen. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

workerman+thinkphp erstellt einen einfachen Chatroom

1: Die Umgebung befindet sich unter Windows, thinkphp3.2

2: Laden Sie GatewayWork herunter und fügen Sie es in

workerman+thinkphp erstellt einen einfachen Chatroom

Verzeichnis

3: Dann doppelklicken, um zu öffnen

workerman+thinkphp erstellt einen einfachen Chatroom

Diese Datei öffnet den Dienst

4: Alle Logik ist in

workerman+thinkphp erstellt einen einfachen Chatroom

In der Datei Events.php,

5: Wenn der Benutzer eine Verbindung zum Server herstellt, lösen Sie

aus workerman+thinkphp erstellt einen einfachen Chatroom

, initialisieren, client_id senden

6: Beim Empfang der Nachricht startet

workerman+thinkphp erstellt einen einfachen Chatroom

diese Methode, die Nachricht enthält die von der gesendeten Daten Client

7: Angehängter Code

/**
 * 当客户端发来消息时触发
 * @param int $client_id 连接id
 * @param mixed $message 具体消息
 */
public static function onMessage($client_id, $message)
{
     //1:收到消息之后转成array()
     $data = json_decode($message,true);
     if(!$data){
       return;
     }
     //2:判断类型,bind是client_id与用户id绑定 
     //say 发送消息的事件
     switch ($data['type']) {
       //绑定
       case 'bind':
           $from_id = $data['from_id'];
           //把获取的到用户id与client_id进行绑定
           Gateway::bindUid($client_id,$from_id);
           return;
       //发送文字消息
       case 'say':
           //获取到客户端传过来的信息
           $text = $data['data'];
           $from_id = $data['from_id'];
           $to_id = $data['to_id'];
           //封装消息
           $info = array(
             'type'=>'text',
             'data'=>$text,
             'from_id'=>$from_id,
             'to_id'=>$to_id,
             'time'=>date('Y-m-d h:i:s',time()) 
           );
           Gateway::sendToUid($to_id,json_encode($info));
           return;
       //发送图片
       case 'img':
           $from_id = $data['from_id'];
           $to_id = $data['to_id'];
           $img = $data['img'];
           //封装消息
           $info = array(
             'type'=>'img',
             'data'=>$img,
             'from_id'=>$from_id,
             'to_id'=>$to_id,
             'time'=>date('Y-m-d h:i:s',time()) 
           );
           Gateway::sendToUid($to_id,json_encode($info));
           return;
     }
     //推送给指定的uid
     // 向所有人发送 
     // Gateway::sendToAll(json_encode($info));
}
Nach dem Login kopieren

kann problemlos einen Punkt-zu-Punkt-Nachrichtenaustausch realisieren.

Das obige ist der detaillierte Inhalt vonworkerman+thinkphp erstellt einen einfachen Chatroom. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!