私は GPS を購入し、SMS メッセージと緯度/経度を取得する独自のソフトウェアでこれをテストしましたが、正常に動作します。スクリーンショットを参照してください。
との通信が機能することを確信してgprs->internet
いるので、ソフトウェアメーカーには存在しない他の多くの機能を実行できる独自のソフトウェアを作成したいと思います..最初の反省では、ソケットでNMEA メッセージをリッスンしようとしました.ポート 7070 の tcp/ip (Java) 、ここに私のソースコードがあります:
import java.io.*;
import java.net.*;
public class Serveur {
static final int port = 7070;
public static void main(String[] args) throws Exception {
ServerSocket s = new ServerSocket(port);
System.out.println("waiting for connexion from GPS 7070");
Socket socClient = s.accept();
System.out.println("Connexion GPS ok");
BufferedReader in = new BufferedReader(
new InputStreamReader(socClient.getInputStream())
);
PrintWriter out = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(socClient.getOutputStream())),
true);
String str = in.readLine();
System.out.println("the GPS message is : " + str);
in.close();
out.close();
socClient.close();
}
}
ローカル ネットワーク上の Java クライアントを介してメッセージを送信しようとしましたが、うまくいきました。
しかし、私が理解していない問題は次のとおりです。GPS からメッセージを受信すると、次のエラーが表示されます。
waiting for connexion from GPS 7070
Connexion GPS ok
Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at serveur.Serveur.main(Serveur.java:27)
server.Serveur.main(Serveur.java:27) で
エラーはline String str = in.readLine();
そのソフトウェアがメッセージNMEAを傍受できた場合、なぜ私のアプリケーションではないのですか??
アップデート:
ネットワークをスニッフィングしました。結果は次のとおりです。
[私の GPS で使用されるプロトコル][4]
GPS から受信した最初のパケット ( the hidden ip adress is my fixed public address
):
ソフトウェアからの最初の応答 (1/2) (空のメッセージ):
ソフトウェアから(2/2):
GPS から:
ソフト より:
GPS(1/2) から (空のメッセージ):
そして最後に、経度/緯度/速度... GPSから(2/2):
すでに書いたように、GPS から送信された空のメッセージがあります...ここにすべての詳細があります。
@Peter Lawrey :メッセージをバイト単位で読み取ろうとしたのですが、netbeans からエラーが発生しました。コードを教えてください。ありがとうこれが私を助けてくれることを願っています。