Android ServerSocket接受为wifi热点

时间:2014-11-20 20:09:32

标签: android sockets serversocket personal-hotspot

我有一个作为接入点(a.k.a. wifi热点)运行的Android设备,它正在运行此代码:

    serverSocket = new ServerSocket(serverPort);

    serverSocket.setReuseAddress(true);

    while (RUNNING) {
        try {
            final Socket socket = serverSocket.accept();

我将有一些其他客户端设备连接到此设备的wifi热点,并尝试连接到套接字,它将无法使用。

接入点的IP地址类似于192.168.43.1 ...所以我将尝试从客户端设备连接到192.168.43.1:8080,它将无法正常工作。

但是,如果两个设备都连接到另一个wifi网络,则服务器的Socket.accept();会工作得很好!我使用的是端口8080.

我是否需要告诉服务器套接字接受“ap0”接口? (我能这样做吗?) 它是Android设备上的防火墙问题吗?

感谢任何解决方案/想法/建议!

修改

我将端口更改为8988,现在它工作得很好! ... 这可能是防火墙问题吗? 有任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

是的,您还需要在服务器端打开套接字。

您应该尝试在Android旧版中访问的Android示例WiFiDirectDemo\Android\android-studio\sdk\samples\android-19\legacy只需将其导入您的环境并试一试..