在 android 中使用 Wifi 连接打开套接字

Opening a socket using Wifi connection in android

我有一个PCan wireless device可以起到他们所谓的"Micro Access Point"的作用。这个概念是让它路由器和其他设备连接到它。通过此连接,我可以使用 TCP 或 UDP send/receive CAN 帧。主要目标是连接到此 Wifi 并打开套接字并在 android M.

中发送/接收 TPC/UPD 帧

我写了一个 android activity 来搜索所有可用的 Wifi 并使用我可以成功连接的按钮连接到它。

连接后我尝试打开套接字但失败了。我也尝试了不同的超时:

button2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        new Thread(new Runnable() {
            @Override
            public void run() {

                for (int i = 0; i <= 255; ++i) { // I wrote this for loop to check all possibilities!
                    String ip = "192.168.1." + i;
                    try {
                        Log.i(TAG, "Try ip: " + ip);
                        Socket socket = new Socket();
                        socket.connect(new InetSocketAddress(ip, 50000), 100);
                        Log.e(TAG, "Connected!");
                    } catch (IOException e) {
                        Log.e(TAG, "Exception is catched!");
                    }
                }

            }
        }).start();
    }
});

谁能告诉我如何打开套接字? 以下是设备信息:

ip: 192.168.1.10

端口:50000

网关:192.168.1.199

更新:

我不知道我是否在正确的方法来克服这个问题。很简短地说:我想连接到这个无线设备和 send/receive tcp 和 UPD 帧。不幸的是,我对网络的了解非常有限。

无线路由器似乎只接受静态 IP。使用静态 IP 和网关解决了问题。