johnnymast / mysql_websocket_chat
快速搭建一个WebSocket聊天应用。
Requires
- ext-json: *
- ext-pdo: *
- cboden/ratchet: v0.4.1
- fzaninotto/faker: ^1.7
- squizlabs/php_codesniffer: *
This package is auto-updated.
Last update: 2024-09-08 02:00:31 UTC
README
MYSQL WEBSOCKET CHAT
欢迎来到这个Hackaton项目,我创建了它供用户hrushi使用,项目来源于 phpclasses.org。想法是创建一个可以将日志记录到数据库的WebSocket聊天应用。以下是你需要做的以启动此项目。 请注意 所需最低PHP版本为7.0 - 这并不是因为项目本身需要,而是因为这个项目依赖的依赖项。
步骤 1:安装composer
首先,您需要在系统上安装composer。您可以从 这里 获取composer。不用担心,它可能看起来有些令人生畏,但实际上并不复杂。
步骤 2:安装项目
使用composer
使用composer安装项目是入门的最简单方法。此方法将从GitHub下载项目并自动为您安装其依赖项。假设您已安装composer(步骤 1),请在命令行中执行以下命令。
$ composer create-project johnnymast/mysql_websocket_chat chat
$ cd chat
在上面的示例中,我使用的是mac,所以我的提示符将与其他人不同,如果你使用的是Windows。
从phpclasses.org下载
如果您从 phpclasses.org 以zip文件的形式下载此包,您需要将zip包解压到您喜欢的位置。然后更改目录到该目录,并在提示符上执行以下命令。
$ composer install
在上面的示例中,我使用的是mac,所以我的提示符将与其他人不同,如果你使用的是Windows。
步骤 3:配置服务器
WebSocket配置
此项目可以分为两个不同的组件。WebSocket服务器是根目录中的 server.php
。另一部分是位于 public/index.php
的前端部分。对于WebSocket服务器,您可以在 includes/config.php
中配置两个配置选项。
WEBSOCKET_SERVER_IP
此标志允许您配置WebSocket服务器的IP地址。默认值设置为 127.0.0.1
。
WEBSOCKET_SERVER_PORT
这将配置WebSocket服务器将监听的端口。默认值已设置为 8080
。如果您与机器上运行的其他服务冲突,可以更改此值。
数据库配置
此服务器可以带数据库运行,也可以不带数据库运行。默认情况下,我已禁用数据库服务器的使用(ENABLE_DATABASE
),但您可以通过将 includes/config.php
文件中的 ENABLE_DATABASE
更改为 true
来启用它。
请注意 如果您启用数据库,请确保更新凭证(见上表)。此外,如果您启用数据库,请确保已将 database.sql 导入到您的数据库中。
步骤 4:启动WebSocket服务器
更改目录到聊天目录并启动服务器。
$ cd chat
$ php ./server.php
当您看不到任何输出且命令似乎卡住时,这意味着它正在运行。
步骤 5:将网络服务指向public目录
在聊天目录中,您将找到index.php文件。这个文件将是您聊天应用客户端。请确保将任何网络服务的文档根设置为public/
文件夹。另外,如果您没有访问网络服务器的权限,也可以尝试使用PHP内置的网络服务器。
$ cd public
$ php -S 127.0.0.1:8000
这将启动一个在端口8000上的网络服务器
步骤6:开始聊天!
现在打开两个聊天标签页,将它们指向localhost(或您配置的虚拟主机),然后开始与自己的聊天。
功能
私人聊天
如果您想测试私人聊天,可以单击屏幕右侧用户列表中的任何用户。然后在消息栏中输入您的消息,这将只向该用户发送私人消息。
更改
如果您想知道Mysql WebSocket Chat这个版本的更改,您可以在这里查看变更日志。
作者
此包由Johnny Mast创建和维护。对于功能请求或建议,您可以考虑给我发电子邮件。
享受
哦,如果您已经看到这里,您也可以关注我在Twitter上。
许可
MIT许可证
版权所有(c)2021 Johnny Mast
特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的个人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供者提供软件的个人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是因合同、侵权或其他原因而产生的,与软件或其使用或其它相关事宜有关。