Мне нужно общаться с iPhone. У меня есть его IP-адрес и порт (полученный через Bonjour).Должен ли TcpClient использоваться для этого сценария?
Мне нужно отправить заголовок «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 была разрешена, «откройте сокет и ...»
Какое программное обеспечение на конце iPhone прослушивает ваши данные? Это то, что вы написали? Или как веб-сервер или что-то еще? Ответ на ваш вопрос продиктован тем протоколом, который iPhone ожидает от вас. – JeremyP
Программное обеспечение для iPhone не было написано мной, но я поддерживаю связь с его разработчиком. Он не использует ничего, кроме TCP/IP (есть версия Mac для программного обеспечения, которое я «портирую»). По словам разработчика: «После того как вы разрешили услугу, откройте сокет и ...». –
Тебе не мало endian для строк, которые не являются unicode. – TomTom