TcpClient应该用于这种情况吗?

时间:2010-05-17 09:33:42

标签: c# .net iphone sockets tcpclient

我必须与iPhone通信。我有它的IP地址和端口(通过Bonjour获得)。

我需要发送一个标题“0x50544833”(或类似的,它是一个十六进制数),然后是数据的大小(下面),然后是数据本身。

数据只是一个如下所示的字符串:

<?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>

该要求还说我必须以小端格式发送数据(我认为这是英特尔的默认格式)。

所以它是:hex_number +数据大小+ string_with_the_above_xml。

我需要将其发送到iPhone并阅读回复。

根据您的经验,发送此数据的最佳方式(并阅读回复)会是什么?

更新:我没有写iPhone软件。它使用Tcp / IP。端口取决于操作系统,但我看到它的范围从57xxx到60xxxx,并非总是如此。该软件的Mac版本使用Tcp / IP。我无法访问其源代码,但我与其开发人员联系,后者向我解释了我需要发送的数据的格式,然后,一旦Bonjour服务得到解决,“打开套接字并......”

1 个答案:

答案 0 :(得分:1)

是的,您可以在此方案中使用TcpClient。在这种情况下,它将完美地运作。