Android设备发送ARP请求,没有响应

时间:2013-05-20 20:40:04

标签: java android sockets networking

一些背景:
我是一个为大学课程开发Android游戏的团队的一员。 我是负责网络的人,我的目标是让游戏以“客户端模式”运行,将输入提交给以“主机模式”运行的游戏。然后主持人将完成所有物理/碰撞等,并发回游戏的更新状态。

我有信心我可以压缩游戏的状态,以便发送它的整个状态将正常工作(图形将在客户端完成)。

我的目标是让这个游戏在无线局域网上工作,使用我从

获得的IPv4地址
NetworkInterface.getNetworkInterfaces().

所有活动代码和用户输入都在我的代码之外处理,因此我基本上使用Java套接字。

问题:
我下面的代码应该向主机发送一个单个数据字节的数据包,告诉它有客户想要连接。但是,在运行此代码后,我使用Wireshark跟踪所有数据包活动大约80秒,我只能看到

11  2.825742000 MurataMa_41:d5:ed   Broadcast   ARP 42  Who has 192.168.0.25?  Tell 192.168.0.24

即未应答的ARP请求。我已经尝试了多个端口,以防出现问题,但我目前正在使用5000。

int hostPort = 5000;

hostSocket = new DatagramSocket(hostPort);
byte [] buffer = new byte[1];
buffer[0] = 'h';
DatagramPacket hello = new DatagramPacket(buffer, buffer.length, hostAddress, hostPort);
hostSocket.send(hello);

那么,我怎样才能让主机Android设备响应ARP请求?我有一个Android 2.2手机发送请求,还有一个运行Android 4.2.2的Nexus 7,接收它们。

修改

我在发送时检查了LogCat输出是否存在任何/所有异常。没有。

0 个答案:

没有答案