meime 发表于 2017-10-20 20:20:45

123

独立的AJAX Chatv 0.8.7(blueimp.net/ajax/)目录要求安装配置和自定义日志喊话盒套接字服务器支持捐执照
这是blueimp的AJAX Chat 的独立版本,旨在独立运行,而无需其他Web应用程序。
如果您想将AJAX Chat与我们支持的论坛之一集成,请返回并选择正确的版本。
此版本非常适合自定义自己的集成或单独使用。AJAX代表“异步JavaScript和XML”。
AJAX聊天客户端(您的浏览器)使用JavaScript查询Web服务器的更新。
除了提供完整的HTML页面外,仅以XML格式发送更新的数据。
通过使用JavaScript,可以更新聊天页面,而不必重新加载整个页面。
PHP用于与数据库通信并验证用户身份。要求
服务器端客户端
PHP> = 5
MySQL> = 4
Ruby> = 1.8(可选)已启用JavaScript已
启用Cookies
Flash插件> = 9(可选)

安装下载您的首选版本的AJAX Chat,然后在计算机上解压缩该文件。
在你开始之前为了编辑PHP文件,您将需要一个好的文本编辑器。您不应使用Windows记事本,写字板或Microsoft Word编辑PHP文件。这些程序将在文件中添加称为字节顺序标记(BOM)的内容,这可能会阻止聊天正常运行。我们建议使用Notepad ++(http://notepad-plus-plus.org)编辑所有文件。它还具有对文件进行颜色编码的好处,因此您可以更轻松地编辑它们。
如果收到类似“ 无法修改标题信息-标题已发送 ”之类的错误消息,则可能是因为您使用了上述程序之一来编辑文件。
配置数据库设置您需要做的第一件事也是最重要的事情是告诉AJAX Chat如何连接到数据库。此设置以及所有核心设置必须位于文件lib / config.php中。
您需要创建此文件。 可以在聊天附带的lib / config.php.example中找到
一个示例config.php文件。 复制此文件并将其另存为config.php(或从文件名末尾删除.example),然后至少在文件中填写以下四个字段:
$config['dbConnection']['host'] = 'your_database_hostname';
$config['dbConnection']['user'] = 'your_database_username';
$config['dbConnection']['pass'] = 'your_database_password';
$config['dbConnection']['name'] = 'your_database_name';足以说您需要此信息。如果您不知道,请与您的托管服务提供商联系。在大多数情况下,聊天仅在填写了这些字段的情况下起作用,您可以继续下一步。
如果主机不使用mysqli,则需要更改连接类型字段:
$ config ['dbConnection'] ['type'] = null;
如果将其设置为“ null”,则默认为“ mysqli”(如果存在),否则为“ mysql”。在大多数情况下,该字段可以保留为空。

您可以通过以下方式引用现有的数据库连接链接或对象:
$ config ['dbConnection'] ['link'] = null;
如果将其设置为null,则创建一个新的数据库连接。
选择您的频道设置编辑文件lib / data / channels.php。
我们为您提供了两个示例频道,分别名为public和private。您可以添加自己的,也可以保持原样。
通道遵循以下格式: 每个通道必须具有唯一的通道ID号和唯一的名称。 通道名称中的空格将转换为下划线“ _”。
$channels[channel id] = 'channel name';

添加您的用户在lib / data / users.php中编辑用户。
用户遵循以下格式:$users[user id] = array();
$users[user id]['userRole'] = AJAX_CHAT_ROLE;
$users[user id]['userName'] = 'user name';
$users[user id]['password'] = 'user password';
$users[user id]['channels'] = array(allowed channel ids);
每个用户必须具有唯一的用户ID号和唯一的名称。
列表中的第一个用户(用户ID 0)用于来宾用户设置。所有来宾用户将有权访问为此用户设置的频道以及用户角色AJAX_CHAT_GUEST。
注册用户可以具有用户角色AJAX_CHAT_USER,AJAX_CHAT_MODERATOR或AJAX_CHAT_ADMIN。(这是区分大小写的,请准确键入)
可以为每个用户分别设置用户有权访问的频道列表。频道ID以逗号分隔。例如:array(0,1,23); 允许通道0、1和23。
用户名中的空格将转换为下划线“ _”。
上传到您的服务器将聊天文件夹上载到文档根目录下的服务器:
例如http://example.org/path/to/chat/
创建数据库表您可以使用两个选项来创建数据库。第一个,通常是最简单的选项,是运行AJAX Chat附带的安装脚本。或者,您可以使用PHPMyAdmin之类的数据库工具手动创建表。
[*]要使用安装脚本,请在浏览器中访问以下URL:
http : //example.org/path/to/chat/install.php
其中“ http://example.org/path/to/chat/”是聊天目录的真实URL。
[*]要使用PHPMyAdmin或类似工具手动安装它,请复制chat.sql文件的内容并作为查询运行。
这两种方法都将创建数据库存储聊天消息和其他信息所需的表。
删除安装脚本从服务器上的聊天目录中删除文件install.php。您也可以删除文件chat.sql。
恭喜!你是赢家!好极了!你完成了!要测试您的聊天,请在浏览器中导航到您的聊天URL:http
: //example.org/path/to/chat/index.php您现在可以自定义聊天以进一步满足您的需求。

配置和自定义配置文件AJAX Chat是完全可定制的,并且包含两个配置文件:
[*]lib / config.php:此文件包含聊天的核心配置选项。在此处找到用于配置数据库,安全性,可用语言等的基本选项。
[*]js / config.js:此文件包含客户端设置,这些设置可更改用户在聊天中的默认选项。这些设置中的许多设置可由用户在其选项中更改,但某些设置(如刷新率)不能更改。
这两个文件都很好地注释了有关设置含义的信息。
自定义布局通过使用CSS(层叠样式表),可以完全自定义AJAX聊天的布局。
AJAX Chat带有一组预定义的样式。要添加自己的样式,请执行以下操作:
[*]通过从CSS目录中复制现有样式之一来添加新的CSS文件(例如mystyle.css)。
[*]编辑文件(css / mystyle.css)并根据自己的喜好调整CSS设置。
[*]将不带文件扩展名的样式名称添加到lib / config.php中的可用样式:
// Available styles:
$config['styleAvailable'] = array('mystyle','beige','black','grey');
// Default style:
$config['styleDefault'] = 'mystyle';
要进一步自定义布局,您可以在lib / template /中调整模板文件。确保创建有效的XHTML,否则在现代浏览器中会产生错误。
这是由于页面内容类型用作“ application / xhtml + xml”。
操纵文档对象模型(DOM)时,使用此内容类型可提高性能。如果由于某种原因您无法创建有效的XHTML,则可以强制使用HTML内容类型。
只需编辑lib / config.php并设置以下选项:$config['contentType'] = 'text/html';
调整语言设置AJAX Chat带有两个语言文件目录:
[*]js / lang /:此目录包含用于聊天消息本地化的语言文件。这些是扩展名为“ .js”的JavaScript文件。
[*]lib / lang /:此目录包含用于模板输出的语言文件。这些是扩展名为“ .php”的PHP文件。
下载中已包含许多语言,您可以通过编辑这些文件来自定义它们。
对于每种语言,您都需要在这两个目录中都有一个文件,并使用语言代码作为文件名(例如en.js和en.php)。.
语言代码遵循ISO 639标准使用。英文(语言代码“ en”)本地化的文件是js / lang / en.js和lib / lang / en.php。如果创建自己的本地化,则必须将文件放在正确的文件夹中,然后对config.php进行两项更改:
[*]添加语言代码(这必须与您为语言选择的文件名匹配。请记住正确使用逗号分隔多个语言代码):
$config['langAvailable'] = array('en');
[*]添加语言名称(这是用户在下拉菜单中看到的用于选择语言的名称):
$config['langNames'] = array('en'=>'English');
为避免错误,您应遵循以下规则:
[*]确保以UTF-8编码本地化文件(无字节顺序标记)。
[*]不要在本地化文件中使用HTML实体。
[*]不要在JavaScript语言文件中删除任何“%s”-这些文件中充满了动态数据。

增加功能AJAX Chat设计有许多钩子和替代项,可用于改进核心功能,而无需您编辑核心文件。借助PHP和javascript的中间技巧,您可以修改聊天以满足自己的需求。浏览一下Wiki上的一些示例:https : //github.com/Frug/AJAX-Chat/wiki/General-modifications

日志访问日志默认情况下,AJAX聊天会将所有聊天消息存储在数据库中。
要访问日志,您必须将GET参数view = logs添加到您的聊天网址中(将?view = logs添加到网址末尾):例如http://example.org/path/to/chat/?view=logs如果尚未登录,则必须以管理员身份登录才能访问日志。日志视图使您可以监视所有频道上的最新聊天消息。
也可以查看私人房间的日志和私人消息。
您可以选择按日期,时间和搜索字符串过滤日志。搜索过滤器接受如下所述的MySQL样式正则表达式:http : //dev.mysql.com/doc/refman/5.1/en/regexp.html
您可以使用以下语法搜索IP:ip = 127.0.0.1

喊话盒AJAX Chat也可以用作shoutbox-这是有关如何设置它的简短指南:喊话器样式表将以下行添加到显示该喊话框的所有页面的样式表(CSS)中:@import url("http://example.org/path/to/chat/css/shoutbox.css");将http://example.org/path/to/chat/替换为聊天的URL。
根据您的喜好修改css / shoutbox.css。
喊话功能将以下函数添加到您的PHP代码中:<?phpfunction getShoutBoxContent() {// URL to the chat directory:if(!defined('AJAX_CHAT_URL')) {        define('AJAX_CHAT_URL', './chat/');}// Path to the chat directory:if(!defined('AJAX_CHAT_PATH')) {        define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/chat').'/');}// Validate the path to the chat:if(@is_file(AJAX_CHAT_PATH.'lib/classes.php')) {                // Include Class libraries:        require_once(AJAX_CHAT_PATH.'lib/classes.php');                // Initialize the shoutbox:        $ajaxChat = new CustomAJAXChatShoutBox();                // Parse and return the shoutbox template content:        return $ajaxChat->getShoutBoxContent();}return null;}?>确保AJAX_CHAT_URL和AJAX_CHAT_PATH指向聊天目录。
喊话器输出使用shoutbox功能显示shoutbox内容:<div style="width:200px;"><?php echo getShoutBoxContent(); ?></div>

套接字服务器单独使用AJAX技术,聊天客户端必须从服务器中永久提取更新。
这是由于AJAX是一种网络技术,而HTTP是一种无状态协议。
从服务器端推送的事件需要客户端和服务器之间的永久或持久套接字连接。
这需要自定义HTTP服务器(称为“ comet”)或另一个自定义套接字服务器。AJAX Chat使用JavaScript到Flash的桥接器从客户端建立永久的套接字连接。
JavaScript到Flash的桥需要在用户浏览器上安装> = 9的Flash插件。
没有此要求的客户端将退回以拉动服务器进行更新。设置的这一部分是可选的,仅适用于有经验的用户。安装AJAX Chat附带的套接字服务器是在Ruby中实现的。
您需要能够将Ruby脚本作为服务来运行套接字服务器。
为了能够启动服务,socket /目录中的脚本文件必须是可执行的:$ chmod +x server
$ chmod +x server.rb“服务器”是一个简单的bash脚本,用于启动和停止服务。
“ server.rb”是ruby套接字服务器脚本。
“ server.conf”是一个配置文件-每个设置都带有注释。要启动服务,请使用参数“ start”执行“服务器”脚本:$ ./server start这将创建两个附加文件:“ server.pid”包含服务的进程ID。
套接字服务器日志填充“ server.log”。要监视套接字服务器日志,可以使用大多数GNU / Linux发行版中包含的“ tail”命令:$ tail -f server.log默认情况下,仅记录错误和服务器启动/停止。
要获取更详细的日志,请通过编辑配置文件来配置日志级别。要停止服务,请使用参数“ stop”执行“服务器”脚本:$ ./server stop如果套接字服务器正在运行,则必须在lib / config.php中启用以下选项:$config['socketServerEnabled'] = true;

这告诉服务器端聊天脚本通过套接字服务器广播聊天消息。
聊天客户端将与套接字服务器建立永久连接以侦听聊天消息。默认情况下,只有本地客户端(127.0.0.1,:: 1)可以广播消息。
允许广播消息的客户端也可以处理通道身份验证。
如果套接字服务器在另一台主机上运行,​​则应将broadcast_clients选项设置为聊天服务器IP。使用套接字服务器可以增加响应时间,同时可以提高服务器性能。
Flash权限从Flash 9.0.115.0和所有Flash 10版本开始,使用Flash创建套接字的权限已更改。
现在,创建套接字连接需要显式权限(使用xml语法)。
在当前状态下,套接字服务器不适用于最新的Flash版本。
您将在浏览器中收到“ Flash安全错误”。一种解决方案是使用策略文件服务器,该服务器将侦听服务器中端口843的连接。
每次客户端尝试连接到聊天时,Flash客户端都会向服务器请求策略授权。
可从http://ammonlauritzen.com/FlashPolicyService-09b.zip下载策略文件服务器。该服务器可
用于FF3和IE7(尚未在其他浏览器中进行测试)。可以在这里找到更详细的解释:* http://ammonlauritzen.com/blog/2007/12/13/new-flash-security-policies/
* * http://ammonlauritzen.com/blog/2008/04/22/flash-policy-service-daemon/
Adobe官方文档:* http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html
* http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security_04.html


支持请不要通过电子邮件向开发人员发送支持问题。
有关更多文档和示例,请查看我们的github wiki。
对于一般支持问题,请使用我们的Google网上论坛。
有关特定的错误报告和未决问题的列表,请查看我们的github项目。

捐您的捐款为该项目的发展做出了贡献,并始终如一。
https://www.paypalobjects.com/en_US/i/scr/pixel.gif我在https://www.gittip.com/Frug上的gittip上

执照Bluimp的AJAX聊天是根据修改后的MIT许可证发布的。您还应该在此项目的下载中找到此许可证。
回到顶部
页: [1]
查看完整版本: 123