Я использую php (расширение сокетов) для обработки отправки и получения XML-файлов.Я хотел бы иметь возможность исправить номер порта исходящих клиентов, так как сервер имеет установленное количество входящих соединений.Я обнаружил, что каждый раз, когда запускается скрипт php, он создает новый номер порта.У меня есть сценарий на стороне клиента: -
send_message('192.9.2.50','10220',$xmlCmd->asXML());
function send_message($ipaddr, $port, $msg)
{
$fp = stream_socket_client("tcp://".$ipaddr.":".$port, $errno, $errstr);
if (!$fp)
{
echo "ERR : $errno - $errstr";
}
else
{
fwrite($fp,$msg);
$response = fread($fp,1024);
// Make a SimpleXML object from the response
$xml = new SimpleXMLElement($response);
echo $xml->Channel->Air->Index;
fclose($fp);
}
}
Обновление:
Я попытаюсь снова использовать file_get_contents, но, похоже, xml только передается от клиента к серверу, т.е. не отвечает,Может ли кто-нибудь помочь мне с параметрами stream_context_create, мне нужно объединить эти два, но не могу понять, как это правильно.Код: -
$opts = array('http' =>
array( 'method' => 'POST',
'header' => 'Content-type: text/xml;',
'content' => $msg)
);
//combine with these options
$opts = array('socket'=>array('bindto'=>"192.9.2.60:2800"));