草庐IT

Networking

全部标签

android.net.wifi.WIFI_STATE_CHANGED 未被广播

在我的应用程序中,如果连接了网络更改,我需要重新启动服务。目前它只能以一种方式工作(wifi到移动数据),但它不能以另一种方式工作(移动数据到wifi。)这是为什么?是因为我的广播接收器中没有android.net.wifi.WIFI_STATE_CHANGED还是放错了权限?感谢您的帮助。代码:接收方的list条目:接收器本身:publicstaticfinalintTYPE_WIFI=1;publicstaticfinalintTYPE_MOBILE=2;publicstaticfinalintTYPE_NOT_CONNECTED=0;publicstaticfinalString

android - NsdManager.DiscoveryListener.onServiceFound 的 NsdServiceInfo 中 Host 为 null

我正在尝试获取作为参数传递给NsdManager.DiscoveryListener.onServiceFound()的NsdServiceInfo的mHost,但它为空。我有两个android设备,其中设备1是服务器,设备2是客户端。这就是我在设备1中注册服务器的方式publicvoidregisterService(intport,InetAddressmyIp){NsdServiceInfoserviceInfo=newNsdServiceInfo();serviceInfo.setPort(port);serviceInfo.setServiceName(this.servic

Android AsyncHttpClient,无法找到符号类 header

我正在尝试在Androidusingalibrarycom.loopj.android.http.AsyncHttpClient中创建异步休息调用但是,我无法实现AsyncHttpResponseHandler的覆盖方法,因为AndroidStudio无法为Header类找到合适的导入如何解决AndroidStudioIDE无法识别Header类的问题?publicvoidonSuccess(intstatusCode,Header[]headers,byte[]response){//calledwhenresponseHTTPstatusis"200OK"}我看到如果我将鼠标悬停在

安卓模拟器udp广播

我正在开发一个Android应用程序,它向LAN上的设备发送udp广播消息。应用程序在设备上以及在Windows上运行的模拟器上运行良好。但是,我无法让它在Linux和MacAndroid模拟器上运行。由于255.255.255.255在android上不工作,我使用子网掩码计算广播ip。(在我的例子中,广播IP是192.168.1.255,其中主机IP是192.168.1.88/24)。但是消息永远不会发送。还检查了Wireshark,但似乎udp包没有超出模拟器。有没有人实现了在LinuxAndroidEmulator上发送广播消息?任何建议将不胜感激。

android - "netcfg wlan0 up"应用程序不工作

我有定制硬件和定制安卓操作系统。经过日常工作流程后,设备无法保持与无线网络的连接。我在应用程序中使用了WifiManager.WifiLock来确保硬件运行起来。但是在我发现我的自定义操作系统无法弥补之后。所以我已经从我的应用程序中尝试了。“netcfg”命令给我列出网络硬件loUP127.0.0.1255.0.0.00x00000049wlan0DOWN0.0.0.00.0.0.00x00001002"netcfgwlan0up"和"ifconfigwlan0up"都无法从应用程序运行。任何人都可以建议我可以从我的应用程序中构建硬件吗?或任何其他方式,如native应用程序类或任何我

android - 如何在Android平台上利用网络进行p2p文件共享?

我正在为android平台开发一些应用程序,但我有两个问题我不太确定如何解决,而且这两个问题密切相关。如何将相对较小的数据文件从一台Android设备发送到另一台(最好通过互联网或直接通过无线网络)?是否可以创建从一台Android设备到另一台Android设备的临时p2p实时数据流?一个示例应用程序是将低分辨率视频从手机A的摄像头或音频流式传输到手机B。我非常感谢在这两个问题(文件传输或实时数据传输)上指出正确的方向。 最佳答案 您可以尝试获取Google的库libjingle在Android上工作。它提供了相当先进的NATTra

java - 安卓多人网络游戏

我正在编写一个Android多人游戏,它基本上由客户端连接和交换消息的服务器组成。当玩家连接到服务器时,玩家列表会返回给他/她。然后玩家可以选择一个用户来挑战——当然他必须从玩家列表中选择一个玩家,该列表只包含连接的用户。当玩家1挑战玩家2时,需要从玩家1向服务器发送一条消息,服务器又必须向玩家2发送消息,通知他挑战。然后玩家2可以接受/拒绝挑战。我可以使用以下技术来实现这一点:将自定义服务器/客户端与Java套接字编程结合使用。服务器基本上接受来自客户端的连接,为每个连接的客户端生成一个新线程。这样做的问题是:需要从客户端到服务器打开一个持久连接,这会浪费Android手机的电池生命

Java 套接字不会在死套接字上抛出异常?

我们的移动设备和服务器之间有一个简单的客户端服务器架构,都是用Java编写的。一个极其简单的ServerSocket和Socket实现。然而,一个问题是,当客户端突然终止(没有正确关闭套接字)时,服务器不知道它已断开连接。此外,服务器可以继续写入此套接字而不会出现任何异常。为什么?根据文档,如果您尝试写入另一端无法访问的套接字,Java套接字应该抛出异常! 最佳答案 连接最终会因重传超时(RTO)而超时。然而,RTO是使用基于网络延迟(RTT)的复杂算法计算的,请参阅此RFC,http://www.ietf.org/rfc/rfc2

java - 如何使用同一个套接字发送二进制文件和文本

我必须将一个短字符串作为文本从客户端发送到服务器,然后再发送一个二进制文件。我如何使用相同的套接字连接发送二进制文件和字符串?服务器是java桌面应用程序,客户端是Android平板电脑。我已经将其设置为在客户端和服务器之间双向发送文本消息。我还没有完成二进制文件发送部分。一个想法是设置两个同时运行的独立服务器。如果我使用两个不同的端口号并在应用程序的两个不同线程上设置服务器,我认为这是可能的。而且我必须在Android应用程序中设置两个运行在两个服务上的并发客户端。另一个想法是以某种方式使用ifelse语句来确定正在发送两种类型的文件中的哪一种,或者是二进制文本,并使用适当的方法来接

android - 网络设备发现

对于我的Android应用程序,用户需要连接到将托管在同一LAN某处的服务器。在同一个LAN上可以托管多个服务器。为了方便用户,我打算扫描Android设备连接到的当前LAN,然后列出所有运行服务器的网络设备,而不是让用户输入计算机的IP手动。我对网络相当陌生,经过一番搜索后我发现我必须使用多播DNS搜索或UDP广播来检测其他设备。我还发现了一个名为jmDNS的不错的库,尽管我发现它的文档和示例代码很少。有人可以指出我正在尝试做的事情的正确方向以节省我浪费的时间(主要是如果我走在正确的轨道上)吗?我假设我必须稍微修改我的服务器才能广播它在那里?如果我在我的应用程序的配置页面中手动输入I