问题标签 [android-networking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - InetSocketAddress 构造函数执行反向 dns
我刚刚发现,由于我们的 fing android 应用程序中的“挂起”报告了堆栈跟踪:
构造函数InetSocketAddress(InetAddress address, int port)
创建一个带有地址和端口的套接字地址,但它似乎也尝试对提供的地址进行反向 dns 查找,以获取主机名。
这根本不是我们想要的,因为它不仅没有被我们的代码使用,而且还会减慢应用程序的速度,因为我们的应用程序会创建相关数量InetSocketAddress
但始终具有尚未解析/翻译的 inet 地址。
你知道是否有办法摆脱这种不受欢迎的反向 dns 查找?
android - 示例:使用 AsyncTask 的 Android 双向网络套接字
我为 Android 找到的大多数网络套接字示例都只有一个方向。我需要一个双向数据流的解决方案。我最终了解了 AsyncTask。此示例显示如何从套接字获取数据并将数据发送回它。由于接收数据的套接字的阻塞特性,该阻塞需要在 UI 线程以外的线程中运行。
例如,此代码连接到网络服务器。按下“Start AsyncTask”按钮将打开套接字。一旦套接字打开,Web 服务器就会等待请求。按下“发送消息”按钮将向服务器发送请求。来自服务器的任何响应都将显示在 TextView 中。在 http 的情况下,一旦发送了所有数据,Web 服务器将与客户端断开连接。对于其他 TCP 数据流,连接将一直保持到一侧断开。
截屏:
AndroidManifest.xml:
资源\布局\main.xml:
src\com.exampleasynctask\MainActivity.java:
android - Android,如何在轮询数据时处理网络变化(从 GPRS 到 Wi-fi,反之亦然)
我使用DefaultHttpClient和HttpGet从服务器轮询数据。现在,假设用户在 Wi-fi 网络中并离开房间。所以手机自动开始使用3G网络。是否有此类更改的回调,以及我应该如何处理此类更改。我应该重新开始轮询还是操作系统会注意适当地进行更改
android - 是否有任何适用于 android 的开源游戏网络引擎?
我正在为 Android 开发多人游戏。有很多适用于 android 的游戏引擎,但是拥有单独的物理引擎和网络引擎对于减小尺寸并在一个应用程序中带来两个最好的引擎非常有用。我查看了RakNet,但它不是开源的,也不是免费的。
我在这里查看了一些线程以及android和Android 网络中的网络,但答案建议使用低级接口而不是游戏所需的开箱即用网络库(处理滞后、数据包丢失等)。
android - 从 android 模拟器 Ping 主机
我正在尝试从 android 模拟器访问托管在我的开发 Ubuntu 机器中的网页。我可以从模拟器浏览互联网,但无法访问主机开发机器的网页,出现 tcp_error。我也无法ping主机。我尝试使用主机的 IP 地址而不是 localhost 或 127.0.0.1。
任何想法?
java - 使用 Android 服务处理网络连接
我正在开发一个需要与聊天服务器保持网络连接的 Android 应用程序。我知道我可以创建一个服务来启动与服务器的连接,但是该服务如何通知 Android Activity 新的传入消息?Activity 需要更新视图以显示新消息。我对 Android 还很陌生,所以任何帮助表示赞赏。谢谢!
android - 从 Android 设备在网络上广播消息
我是 android 应用程序开发的新手。我的应用程序需要在本地网络上广播一条消息,其中包含一些数据。网络上的每个设备都会收到此消息。在接收设备上运行的应用程序,根据消息中指定的标准,回复发送者。
有可能实现这一目标吗?如果没有,是否有替代方案?消息可以广播到多个网络吗?
android - android sipdroid RTP 数据包类 hasMarker 函数总是返回 false。
我在我的 VoIP android 应用程序中使用 android SipDroid RTP 数据包类。我将捕获的帧分割成小数据包。我已经设置了 seqno、时间戳和标记。但是当我看到日志 RTP 数据包标记 hasMarker 函数总是返回 false 。即使我将其设置为 true,它也只会返回 false。重组完整帧非常困难,所以我暂时根据小于 1024 的数据包大小重组数据包,这是相应时间戳的最后一个数据包。
任何解决方案?
android - 在 Android 上获取 Wifi 接口名称
我目前正在开发一种 wifi 嗅探器。为此,我使用为 arm 编译的 tcpdump 二进制文件。但假设我知道 Wifi 接口的名称。
根据 SDK 文档NetworkInterface提供一个 getName() 方法。
我打算用这个方法,所以第一步是获取我的wifi接口对应的NetworkInterface对象。
为此,我使用 WifiInfo 获取 ip 地址,然后获取与此 IP 对应的 InetAddress,最后通过使用静态方法 getByInetAddress(InetAddress address) 获取 NetworkInterface 的实例。
这是我的代码:
输出 :
但我除了:
我也尝试了 isVirtual() 方法,但它无法编译,并且我收到一条错误消息,指出方法 isVirtual() 没有为 NetworkInterface 类型定义。我不明白发生了什么......
任何帮助将不胜感激。
android - 如何知道任何数据下载正在我的 android 设备上进行
考虑通过任何其他应用程序在我的 Android 设备上下载一首歌曲。或者一个应用程序正在从市场上下载。在这个阶段,我的设备正在使用移动网络。
我们可以编写代码来告诉正在从连接的网络下载数据吗?
使用ConnectivityManager
我可以获得所有活动的网络列表。我也可以获得连接的网络名称。
连接是否意味着流已准备好进行任何数据传输或数据正在传输?
如何知道何时下载数据?