deminy / xmpp
此包已被弃用且不再维护。没有建议的替代包。
一个用于与XMPP服务器通信的客户端库。
0.0.2
2014-12-16 22:43 UTC
Requires
- php: >=5.3.3
- deminy/streamer: ~0.0.1
- psr/log: ~1.0
This package is auto-updated.
Last update: 2020-03-13 01:39:11 UTC
README
在创建此存储库之前,我已经评估了以下PHP XMPP库
- Nikita的分支,它基于Alexander的代码。
- XMPPHP。有一个更好的分支由Charles创建。
- JAXL.
不幸的是,以上都没有提供我所需要的功能。这就是为什么我要基于Nikita的工作创建此存储库的原因。
功能
- 以下功能已经从Nikita的分支提供
- 连接并使用DIGEST-MD5进行身份验证,以对XMPP服务器进行操作(已测试Openfire和jabberd2)
- 支持SSL/TLS连接
- 允许加入MUC房间
- 向个人和MUC房间发送消息。
- 以下功能是我添加的,以及各种重构等
- 使用PLAIN连接并身份验证。
- XEP-0045(多用户聊天)相关实现,包括创建聊天室、销毁聊天室、授予成员、撤销成员和获取成员列表。
示例代码
use Xmpp\Xep\Xep0045 as xmpp; $roomId = 'YourHouse'; $userId = 'Tom'; $options = array( 'username' => 'your_username', 'password' => 'your_password', 'host' => 'example.com', 'ssl' => false, 'port' => 5222, 'resource' => uniqid('', true), 'mucServer' => 'conference.example.com', // optional ); $xmpp = new xmpp($options, $logger); $xmpp->createRoom($roomId); // Create the room. $xmpp->grantMember($roomId, $userId); // Add a member to the room. $xmpp->getMemberList($roomId); // Get member list and there should be only one member. $xmpp->revokeMember($roomId, $userId); // Remove the only member out from the room. $xmpp->getMemberList($roomId); // Get member list and there should be nobody in the room. $xmpp->destroyRoom($roomId); // Destroy the room. $xmpp->disconnect(); // Disconnect from the server. Important for heavy-loaded servers.
已知限制
致谢
- Nikita的分支.
- 同事Jose(大家都叫他Tachu)、Jakub和Jerry提供了宝贵的建议,帮助性能改进和测试。
许可证
MIT许可证。