Android ServerSocket接受作为wifi热点



我有一个作为接入点运行的安卓设备(又名 wifi 热点),它正在运行以下代码:

    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网络,serverSocket.accept(;将正常工作!我正在使用端口 8080。

我是否需要告诉服务器套接字在接口"ap0"上接受?(我可以这样做吗?这是安卓设备上的防火墙问题吗?

任何解决方案/想法/建议不胜感激!

编辑:

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

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

您应该尝试Android旧版WiFiDirectDemo可访问的Android示例:Androidandroid-studiosdksamplesandroid-19legacy将其导入您的环境并尝试一下。

相关内容

  • 没有找到相关文章

最新更新