2011-08-19 103 views
3

我试图使用计算机名称从iPad连接到Windows XP计算机上的TCP套接字。如何使用本地网络上的主机名称连接TCP套接字

我已经尝试使用:

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

这种失败时hostName = "MyHost"hostName = "192.168.0.4"

我一直使用相同的结果AsynchSockets尝试使用成功:

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

的XP机器只需使用以下连接: Winsock.RemoteHost = "MyHost" for VB 和 MySocket->Connect("MyHost", 4097); for C++

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

回答

1

您将需要iOS的SMB客户端库。这里有一个地方开始:

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

+0

我下载了iOS的Tango SMB客户端库,并找到函数address_for_host()。它使用了不赞成使用的函数gethostbyname()。\ n当我用“10.0.0.4”调用它时,它返回0x4000000a,当我用“MyHost”调用它时,它返回INADDR_NONE(0xffffffff)还有其他建议吗?谢谢 – schaz

0

如果它与直接的IP与主机名不确实“MYHOST” 这很可能意味着“MYHOST”是没有得到解决(一个IP)在iPad上。 例如:在XP机器上有一个名为hosts的文件(通常为c:\windows\system32\drivers\etc\hosts) - 其中像MyHost这样的主机名可以让它定义IP。

一条线“192.168.0.4 MyHos吨”会做到这一点。

看来你不能编辑主机在非越狱的iPad的文件:Can I edit an iPad's host file?

here你可以找到解决的办法。

相关问题