1

iPhoneと通信する必要があります。その IP アドレスとポート (Bonjour 経由で取得) があります。

「0x50544833」(または同様の 16 進数) のヘッダー、データのサイズ (以下)、データ自体を送信する必要があります。

データは、次のような単なる文字列です。

<?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 に送信し、応答を読み取る必要があります。

あなたの経験によると、このデータを送信する (そして応答を読む) 最良の方法は何でしょうか?

update : 私は iPhone ソフトウェアを書きませんでした。TCP/IP を使用します。ポートはオペレーティング システムによって異なりますが、常にではなく、57xxx から 60xxxx の範囲であることがわかりました。このソフトウェアの Mac 版は Tcp/Ip を使用します。私はそのソース コードにアクセスできませんが、その開発者と連絡を取り合っています。開発者は、送信する必要があるデータの形式を説明し、Bonjour サービスが解決されたら、「ソケットを開いて…」</p >

4

1 に答える 1

1

はい、このシナリオではTcpClientを使用できます。この場合は完全に機能します。

于 2010-05-19T04:43:18.153 に答える