我是XMPP服务器的新手。我想制作多用户聊天应用程序。
我已经安装了Openfire,并且一对一聊天工作正常但我无法创建会议(聊天)会议室并使用PHP将用户添加到会议室中进行多用户聊天。
虽然我在openfire中安装了MUC服务插件,但我不知道如何用PHP实现MUC服务REST / HTTP。
有人可以为MUC服务提供一些示例PHP脚本来创建聊天室并将用户添加到聊天室吗?
先谢谢
答案 0 :(得分:1)
基于帮助信息:
基本HTTP身份验证
所有REST端点都受基本HTTP身份验证保护。
要访问端点,需要发送用户名和 您的标头请求中的Openfire管理员帐户的密码。
E.g。标题:授权:基本YWRtaW46MTIzNDU =(用户名:admin / 密码:12345)
泽西客户端的示例
客户端c = Client.create(); c.addFilter(新的HTTPBasicAuthFilter(用户, 密码));
POST / mucservice / chatrooms 端点创建一个新的聊天室。
有效负载:聊天室返回值:HTTP状态201(已创建)
可能的参数
参数参数类型描述默认值 servicename @QueryParam群聊服务会议的名称 实例
标题:授权:基本YWRtaW46MTIzNDU =
标题:内容类型:application / xml
POST http://example.org:9090/plugins/mucservice/chatrooms
有效负载示例1(必需参数):
全球1 全球 全球聊天室
将使用PHP代码(使用MUCservice版本0.2.3 Openfire 3.10.0进行测试):
function createRoom($naturalName, $roomName, $description) {
$url = "http://localhost:9090/plugins/mucservice/chatrooms";
$data = "<chatRoom>
<naturalName>$naturalName</naturalName>
<roomName>$roomName</roomName>
<description>$description</description>
</chatRoom>";
$username = "admin";
$password = "12345";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PORT, "9090");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Content-Type: application/xml',
'Authorization: Basic '.base64_encode("$username:$password")));
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
echo "code " . $code;
print_r($res);
curl_close($ch);
}
createRoom("room", "room", "room");