0

我的问题是,将数据发送到同一网络中的其他设备的最佳方式是什么?

我有两台设备,都连接在同一个无线网络上,它们都有一个负责网络发现和所有这些东西的服务。

一旦设备“A”知道设备“B”在哪里,就会创建一个数据报套接字。然后,当您触摸设备 A 的屏幕时,它会使用数据报包向设备 B 发送一些数据。但这些数据必须是实时的。

现在我得到了大约 200 毫秒的延迟,在触摸屏幕和设备 B 收到数据包之间。

所以,我想知道是否有其他方法可以减少这个时间并使其更快。我选择 UDP 是因为它更快,而且它不在乎途中是否丢失。但也许有更好的方法来做到这一点。

谢谢!

设备 A 发送到 B 代码

@Override
            public void run() {
                // TODO Auto-generated method stub
                super.run();
                try {
                    if (clientSocket==null || clientSocket.isClosed() || !clientSocket.isConnected()) {
                        clientSocket = new DatagramSocket();
                    }
                    EngelPacket p = new EngelPacket(0,1,0,1,0);
                    p.setTime(System.currentTimeMillis());
                    byte[] sendData = p.getPacketBytes();
                    DatagramPacket sendPacket = new DatagramPacket(sendData,
                            sendData.length, ipDest, port);
                    clientSocket.send(sendPacket);
                } catch (SocketException e) {
                    // TODO Auto-generated catch block

                    e.printStackTrace();
                } catch (UnknownHostException e) {
                    // TODO Auto-generated catch block

                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block

                    e.printStackTrace();
                }
            }
4

0 回答 0