首页 > 解决方案 > 在 php Socket (XML) 中发送多个命令

问题描述

我正在尝试使用 XML 方法向套接字发送多个命令

<?php
set_time_limit(0);
$host    = "127.0.0.1";
$port    = "1234";
$message = '<?xml version="1.0" encoding="UTF-8" ?>
<command name="login">
<param type="string">username</param>
<param type="string">password</param>
</command>';
echo "Message To server :".$message;
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
$result = socket_read ($socket, 2084) or die("Could not read server response\n");
echo "Reply From Server  :".$result;
socket_close($socket);
?>

我得到了正确的响应,但是当我试图发送另一个命令时

 $message = '<?xml version="1.0" encoding="UTF-8" ?>
    <command name="userlist">
</command>';

我没有得到回复,所以我的问题是如何发送多个请求。

标签: phpsockets

解决方案


最后我得到了解决方案,需要发送两条单独的消息,带有新的socket_writesocket_read功能


推荐阅读