我買了一個gps,我測試了這個短信並用它自己的軟件檢索了lat/long,它工作正常,請參閱截圖: 從GPS設備讀取句子NMEA時出現「java.net.SocketException:Connection reset」
現在,我敢肯定,隨着gprs->internet
通信工作,所以我要創造我自己的軟件,誰可以做很多其他的功能,不與軟件製造商存在.. 在我的第一反思,我嘗試在端口7070上用socket tcp/ip(java)收聽NMEA消息,這裏是我的源代碼:
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)
在serveur.Serveur.main(Serveur.java:27)
誤差來源於line String str = in.readLine();
如果它的軟件能夠截取消息NMEA爲什麼不是我的應用程序?
UPDATE:
我嗅網絡,這裏是結果:
[通過我的GPS使用的協議] [4]
從GPS接收到的第一分組(the hidden ip adress is my fixed public address
):
軟件的第一個響應(1/2)(其空消息):
從GPS:
從軟:
從軟件(2/2)
從GPS( 1/2)(其空信息):
終於長/ LAT /速度...從GPS(2/2):
,因爲我已經寫了,也有通過GPS發送空消息... ...所以在這裏是所有細節。
@Peter Lawrey:我試圖逐字節讀取消息,但是我得到了netbeans錯誤,,,你能給我一段代碼嗎?謝謝 希望這能幫助我。
確定的GPS是一個客戶端的Socket?認爲設備是服務器是有意義的。 – 2012-03-01 12:55:39
我不確定,但通常這是一個套接字客戶端... – 2012-03-06 09:41:09
你有設備和服務器在同一臺機器嗎? – 2012-03-06 09:50:03