我正在开发一个关于android和ios(通过wifi)之间的套接字连接的小例子,在尝试之后,连接尚未建立。这是我到目前为止所做的,我在ios上创建了一个服务器(使用Bonjour发布服务)。我还在android上创建了一个客户端。但是,在ios上启动服务器之后,我还得到了日志:
ServerSocketConnection[3487:c07] Bonjour Service Published: domain(local.) type(_serversocket._tcp.) name(Macmini) port(54065)
这意味着服务器启动正常。
对于客户端部分(android),我通过Socket
类创建了客户端,几行代码:
Socket s = new Socket("local.", 54065);
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
String st = input.readLine();
将其放入AsyncTask中执行。但是,我得到了UnknowHostException
:
08-06 12:45:44.460: W/System.err(873): java.net.UnknownHostException: Unable to resolve host "local.": No address associated with hostname
我是这类问题的新手所以任何想法是什么问题?我知道它与“主机”有关,但需要解决方法。 *注意:我在2个模拟器(ios和android)上运行2个应用程序作为相同的wifi网络和相同的MAC,也许这是问题?任何帮助都会被我的英语所赞赏和抱歉,这不是我原来的。
答案 0 :(得分:0)
使用iPhone的实际IP地址而不是“本地”。
在Android上,您可以通过设置找到手机的IP - > WiFi - >高级。不确定iPhone是否提供相同的选项。
PS。另外一定要在你的清单中获得互联网许可;
<uses-permission android:name="android.permission.INTERNET"></uses-permission>