【问题标题】:Android ServerSocket accept as wifi hotspotAndroid ServerSocket 接受为 wifi 热点
【发布时间】:2015-01-18 20:17:07
【问题描述】:

我有一个作为接入点(又名 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网络,serverSocket.accept();会工作得很好!我使用的是 8080 端口。

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

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

编辑:

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

【问题讨论】:

    标签: android sockets serversocket personal-hotspot


    【解决方案1】:

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

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

    【讨论】:

    • 我将端口从 8080 更改为 8988,现在它可以工作了。现在我想知道如何让它在 80 端口上工作! =)
    • @ChrisVollo 1024 以下的端口为系统保留。为什么需要 80 端口?
    • 找到了解决方案。我更改了 iptbles 以将端口 80 上的所有流量重定向到端口 8080。
    猜你喜欢
    • 2011-10-26
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多