c# - TcpClient应该用于这种情况吗?

标签 c# .net iphone sockets tcpclient

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

我需要发送的 header 是“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>

要求还说,我必须以小字节序格式发送数据(无论如何我还是认为这是Intel的默认设置)。

它将是:十六进制数字+数据大小+ string_with_the_above_xml。

我需要将其发送到iPhone并阅读响应。

根据您的经验,发送该数据(并读取响应)的最佳方法是什么?

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

最佳答案

是的,您可以在这种情况下使用TcpClient。在这种情况下,它将运行完美。

关于c# - TcpClient应该用于这种情况吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2847926/

相关文章:

c# - 去除url中的重复词并过滤掉不在列表中的词

C#、WebBrowser,如何在页面上的任何其他脚本之前注入(inject)并执行 JavaScript?

c# - 如何在不使用浏览器控件的情况下检测网页的高度

ios - NSFetchRequest 从 Core Data iOS 返回错误

ios - 如何在不使用 UIWebView 的情况下在 iOS 中显示动画 svg 文件

c# - 是否有 C# IN 运算符?

c# - 如何将 Canvas 绑定(bind)到矩形列表

c# - 在调整父级大小时调整子窗体控件的大小

iphone - XCode4 - 在哪里寻找由核心数据创建的sqlite文件

c# - UserManager.CreateAsync 不生成 Id