Следует ли использовать TcpClient для этого сценария? - PullRequest
1 голос
/ 17 мая 2010

Мне нужно общаться с 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 была разрешена, «откройте сокет и…»

1 Ответ

1 голос
/ 19 мая 2010

Да, вы можете использовать TcpClient для этого сценария.Это будет отлично работать в этом случае.

...