实例详解PHP实现简单聊天室功能
这篇文章结合实例主要介绍了PHP实现简单的聊天室功能,有一定的参考价值,感兴趣的朋友可以参考一下,希望对你有所帮助!
前端部分:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>聊天室</title> </head> <style> #set_name{ margin: auto; text-align: center; } </style> <body> <h3 style="text-align: center">亮亮的聊天室</h3> <div id="set_name"> 姓名:<input name="name" id="name"><input type="button" onclick="set_name();" value="进入群聊"> </div> <div id="chat" style="width: 600px; border: red 1px solid;margin: auto;display: none"> <div id="sayContent" style="height: 300px;border-bottom: silver 1px dashed;"> </div> <div style="height: 75px;margin-top: 10px"> <textarea id="content" style="height: 50px;width: 480px;background-color: #00a0e9;float: left;"></textarea> <button id="submit" style="float: right;height: 55px;width:50px;margin-right:45px;display: block;" onclick="send_msg();">发送</button> </div> </div> <script> var name = ws = '' ; //执行websock function chat() { var wsserver = 'ws://47.94.11.195:443'; //调用WebSocket对象建立连接 //ws wss: // ip:port(字符串) ws = new WebSocket(wsserver); //获取聊天内容展示窗口 var sayContent = document.getElementById('sayContent'); //onopen监听连接打开 ws.onopen = function (v) { var user = new Object(); user.name = name; user.type = 1;//对用户设置姓名 var json = JSON.stringify(user); ws.send(json);//发送数据 } //onmessage监听服务器数据推送 ws.onmessage = function (v) { var html = sayContent.innerHTML; sayContent.innerHTML = html + "<br>"+v.data; } //监听连接关闭 ws.onclose = function (v) { var html = sayContent.innerHTML; sayContent.innerHTML = html + "<br>聊天室已关闭!"; } } //设置用户名 function set_name() { name = document.getElementById('name').value; if(name == ''){ alert('请输入用户名!'); return false; } document.getElementById('set_name').style.display='none'; document.getElementById('chat').style.display='block'; chat(); } function send_msg() { var content = document.getElementById('content'); if(content.value == ''){ alert('请输入聊天内容!'); return false; } var msg = new Object(); msg.content = content.value; msg.type = 2; var str = JSON.stringify(msg); ws.send(str); } </script> </body> </html>
后台部分:
<?php $server = new swoole_websocket_server("0.0.0.0", 443); $server->users = []; $server->on('open', function (swoole_websocket_server $server, $request) { $server->users[$request->fd]['id'] = $request->fd; }); $server->on('message', function (swoole_websocket_server $server, $frame) { $data = json_decode($frame->data,true); if($data['type'] == 1){ $server->users[$frame->fd]['name']=$data['name']; $server->push($frame->fd,'欢迎您('.$data['name'].')进入聊天室!'); }else{ foreach($server->users as $v){ $server->push($v['id'], $server->users[$frame->fd]['name'].'说:'.$data['content']); } } }); $server->on('close', function ($ser, $fd) { file_put_contents('qq.txt',$server->users[$frame->fd],FILE_APPEND); unset($server->users[$frame->fd]); }); $server->start();
更多相关教程请访问 php编程从入门到精通全套视频教程

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
