端口为5792,IP为123.123.123.123。我能够将数据发送到ip,如下所示:
$host = "tcp://123.123.123.123";
$port = 5792;
$errstr = '';
$errno = '';
$fp = fsockopen($host, $port ,$errno, $errstr, 30);
if (!$fp) {
print 'COULD NOT CONNECT! <br />';
echo "$errstr ($errno)<br />\n";
die();
}
else {
print 'SUCCESS!<br />'
}
发送似乎也可以:
$message = 'hello';
fputs ($fp, $message );
接收数据时出现问题:
print fread($fp, 128);
打印:
hello
...到屏幕上!换句话说,它正在呼应我发送的内容。现在,我知道所有消息都封装在XML元素中。可以放置一个服务请求,该请求也封装在XML元素中。
封装的XML元素称为“ROOT”,在其中可以放置服务请求请求。让我们将我要完成的实际服务请求称为“topUp”。
最佳答案
知道请求命令的XML结构至关重要。无论如何,您也可以通过这种方式向您发送命令
$message = "<root>"."\n";
$message .= "<request>topUp</request>"."\n";
$message .= "</root>"."\n";
fputs ($fp, $message );
但是,除非您发送已定义的请求结构,否则可能无法获得所需的结果。
关于php - 创建TCP套接字连接并通过XML请求发送以便获得XML响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11773769/