如何使用本地网络上的主机名连接TCP套接字

时间:2011-08-19 22:44:33

标签: xcode objective-c++ tcpclient

我正在尝试使用iPad上的计算机名称连接到Windows XP计算机上的TCP套接字。

我尝试过使用:

getaddrinfo(hostName, 4097, &hints, &res0);

hostName = "MyHost"时失败,hostName = "192.168.0.4"

时失败

我尝试使用AsynchSockets使用相同的结果:

[mySocket connectToHost:hostName onPort:4097 error:nil];

XP机器可以很好地连接使用: VB的Winsock.RemoteHost = "MyHost" 和 C ++ MySocket->Connect("MyHost", 4097);

如何在iPad上使用Xcode做类似的事情?

2 个答案:

答案 0 :(得分:1)

您将需要一个适用于iOS的SMB客户端库。这是一个开始的地方:

http://38leinad.wordpress.com/2011/03/23/windows-filesharing-library-for-ios/

答案 1 :(得分:0)

如果它适用于直接IP而不适用于hostName'MyHost' 这很可能意味着'MyHost'在iPad上没有得到解决(到IP)。 例如:有一个名为hosts的文件(通常是c:\windows\system32\drivers\etc\hosts) 在XP机器上 - 像MyHost这样的主机名可以定义IP。

一行“192.168.0.4 MyHos t”就是这样。

您似乎无法在非越狱iPad上编辑主机文件:Can I edit an iPad's host file?

here你可以找到解决方法。