私はリアルタイムGPS追跡システムを構築しています。これはUDPを使用していくつかのArduinoデバイスから送信されたGPSデータを受信します。私はこれまでにこのコードを持っています:
PreparedStatement stmt ...
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
while(true){
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String received = new String( receivePacket.getData());
System.out.println("RECEIVED: " + received);
stmt.set...
stmt.execute();
}
1-これを行うためのより良い方法があるかどうか、より多くの知識を持っている人は私に言うことができますか?JVMがこれをどのように処理するかは本当にわかりませんが、その無限ループは好きではありません。
2-データを送信しているArduinoが50台あるとします。スレッドなどを使用する必要がありますか?
3-以下の回答のように「コネクション」ごとにスレッドを使用する(UDPはコネクションレス型)か、Apache MinaやNettyなどのフレームワーク/ライブラリを使用するのが最善ですか?