2011-08-25 85 views
1

我想在android中编程一个服务器/客户端应用程序。 我的电脑和我的android手机上的客户端有一个服务器类。 所有权限都可以。 下面是客户端:Android中的WiFi网络编程

 try { 
     mysocket = new Socket("My PC IP Address", 4444); 
    } catch (UnknownHostException e) {... 
    } catch (IOException e) {... 
    } 

这里是服务器:

 try { 
     myServerSocket = new ServerSocket(4444); 
    } catch (IOException e) {... 
    } 

    Socket clientSocket = null; 
    try { 
     clientSocket = serverSocket.accept(); 
     System.out.println("Connection Established."); 
    } catch (IOException e) { 
    } 

我使用我的电脑“Connectify的”计划有一个(虚拟)接入点,使得我的手机连接到这一点。 但是,当我尝试连接到我的android应用程序中的服务器时,它挂起,然后抛出超时异常。

+1

确保您尝试连接到PC的“connectify”IP地址,该地址可能与正常IP地址不同。 –

+0

我怎样才能得到它的IP? – Matrix

+0

从connectify配置控制台。或者从ifconfig(linux)或ipconfig/all(windows)之类的东西。寻找一个只有在connectify运行时才会出现的额外接口。如果你能得到手机的wifi地址,你需要一个与电话位于同一子网的电脑,而不是与上游电缆调制解调器进行通话的电脑。 –

回答

1

此代码看起来不错。

你确定Connectify工作正常吗? 您应该尝试使用两个不同的进程(作为服务器作为独立客户端和Android模拟器中的客户端)运行您在PC上构建的服务器和客户端。

如果它从localhost正常工作到localhost:4444,则连接是问题的原因,而不是您的代码。否则,你会很容易在你的代码中发现错误。