2011-08-19 61 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你可以找到解決的辦法。