Мне нужно общаться с iPhone. У меня есть его IP-адрес и порт (полученный через Bonjour).
Мне нужно отправить заголовок «0x50544833» (или аналогичный, это номер HEX), затем размер данных (ниже) и затем сами данные.
Данные - это просто строка, которая выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE plist SYSTEM "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>clientName</key>
<string>XXX</string>
<key>clientService</key>
<string>0be397e7-21f4-4d3c-89d0-cdf179a7e14d</string>
<key>registerCode</key>
<string>0000</string>
</dict>
</plist>
Требование также гласит, что я должен отправлять данные в формате с прямым порядком байтов (который, я думаю, по умолчанию для Intel по умолчанию).
Так будет: hex_number + размер данных + string_with_the_above_xml.
Мне нужно отправить это на iPhone и прочитать ответ.
Какой, по вашему опыту, лучший способ отправить эти данные (и прочитать ответ)?
обновление : я не писал программное обеспечение для iPhone. Он использует Tcp / Ip. Порт зависит от операционной системы, но я видел его в диапазоне от 57xxx до 60xxxx, не всегда. Версия этого программного обеспечения для Mac использует Tcp / Ip. У меня нет доступа к его исходному коду, но я общаюсь с его разработчиком, который объяснил мне формат данных, которые мне нужно отправить, а затем, после того как служба Bonjour была разрешена, «откройте сокет и…»