php使用socket发送消息头+xml消息体
时间: 2023-08-02 15:06:21 浏览: 104
可以使用以下代码示例来发送消息头和 XML 消息体:
```php
<?php
// 创建一个 TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}
// 连接到服务端
$result = socket_connect($socket, '127.0.0.1', 8080);
if ($result === false) {
echo "socket_connect() failed: reason: " . socket_strerror(socket_last_error($socket)) . "\n";
}
// 构造消息头
$header = "POST /path/to/api HTTP/1.1\r\n";
$header .= "Host: example.com\r\n";
$header .= "Content-Type: text/xml\r\n";
$header .= "Content-Length: " . strlen($xml) . "\r\n\r\n";
// 构造 XML 消息体
$xml = "<root><message>Hello, world!</message></root>";
// 发送消息头和 XML 消息体
socket_write($socket, $header . $xml, strlen($header . $xml));
// 关闭 socket 连接
socket_close($socket);
?>
```
注意,这只是一个简单的示例,实际使用时需要根据具体的场景进行适当的修改。同时也需要确保服务器端能够正确解析接收到的消息头和消息体。
阅读全文