0

我目前正在使用 TPC/IP 套接字连接在 android 上构建应用程序。我通过使用以下代码获取有关 wifi 连接的 IP 地址:

这段代码将允许我获取 serverIp 和只是 Ip

WifiManager manager = (WifiManager) c.getSystemService(c.WIFI_SERVICE);
DhcpInfo info = manager.getDhcpInfo();
WifiInfo wifiInfo = manager.getConnectionInfo();

我正在使用以下方式获取服务器 IP:

info.serverAddress

并且只是使用IP地址:

info.ipAddress

(注意:很抱歉,我无法向您显示我的 logcat 结果,因为它们是我的 ip 地址 =( ...) 基本上这些代码会得到我的服务器地址和 wifi 的 ip 地址。但是我应该使用哪一个来制作 TCP/ IP连接程序?该程序将仅基于wifi。

4

2 回答 2

0
  1. 如果您确定应用程序的 Server 部分正在您获得的 Server Ip 上运行,则创建一个到该端口的套接字,如果您有一个与 Server 关联的域名,如果它是公共服务器,我会更好我确信它会有一些与之相关的域名..

例如:

在端口 4444 连接到服务器,连接超时为 2 秒:

Socket s = new Socket();
s.connect(new InetSocketAddress("117.10.10.10.",4444),2000);

从服务器读取:

InputStream is = s.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = BufferedReader(isr);

    String s = null;

    while ((s=br.readLine())!=null)

        {

              System.out.println(s);

         }

写入服务器:

OutputStream os = s.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.println("hello");
于 2012-07-04T19:01:30.120 回答
0

你应该使用类似的东西

            Socket s = new Socket("www.server.com", 80);

将您的客户端应用程序连接到您的服务器。其他一切都是其他组件的责任,而不是您的应用程序。见http://developer.android.com/reference/java/net/Socket.html#Socket(java.lang.String , int)

于 2012-07-04T15:53:22.670 回答