私の質問は、同じネットワーク内の他のデバイスにデータを送信する最良の方法はどれですか?
私は 2 つのデバイスを持っており、どちらも同じワイヤレスで接続されています。両方とも、ネットワーク検出とこれらすべてを担当するサービスを持っています。
デバイス「A」がデバイス「B」の場所を認識したら、データグラム ソケットを作成します。次に、デバイス A の画面をタッチすると、データグラム パケットを使用してデバイス B にデータが送信されます。ただし、このデータはリアルタイムである必要があります。
画面がタッチされてからデバイス B がパケットを受信するまでに、約 200 ミリ秒の遅延が発生しています。
ですから、この時間を減らしてより速くする他の方法があるかどうか知りたいです。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();
}
}