Android ServerSocket 接受 wi-fi 热点

问题描述 投票:0回答:1

我有一个作为接入点(又名 Wi-Fi 热点)运行的 Android 设备,并且它正在运行以下代码:

serverSocket = new ServerSocket(serverPort);

serverSocket.setReuseAddress(true);

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

我会让其他客户端设备连接到该设备的 Wi-Fi 热点,并尝试连接到套接字,但无法连接。

接入点的 IP 地址类似于 192.168.43.1,因此我尝试从客户端设备连接到 192.168.43.1:8080,但它不起作用。

但是,如果两个设备都连接到另一个 Wi-Fi 网络,

serverSocket.accept();
就可以正常工作!我使用的是 8080 端口。

我需要告诉服务器套接字在接口“ap0”上接受吗? (我可以这样做吗?)

我将端口更改为8988,现在工作正常了。是安卓设备的防火墙问题吗?

有什么想法可以解决这个问题吗?

android sockets wifi serversocket hotspot
1个回答
0
投票

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

您应该尝试 Android 示例

WiFiDirectDemo
可在 Android 旧版中访问:
\Android\android-studio\sdk\samples\android-19\legacy
只需将其导入到您的环境中并尝试一下..

© www.soinside.com 2019 - 2024. All rights reserved.