2012-03-01 2 views
1

GPS를 구입했는데, 이것을 SMS 메시지와 자체 소프트웨어를 사용하여 위도/경도를 검색하고 테스트 해 보았습니다. 스크린 샷 : enter image description here"java.net.SocketException : Connection reset"GPS 장치에서 문장 NMEA 읽는 중

가 지금은 gprs->internet와의 통신이 내가 처음으로 .. 소프트웨어 제조업체에 존재하지 않는 다른 많은 기능을 수행 할 수 있습니다 내 자신의 소프트웨어를 만들려면 이렇게 작동하는지 확인 해요 반사, 포트 7070에서 소켓 TCP/IP (자바)를 사용하여 NMEA 메시지를 수신하려고 시도했지만 여기 내 소스 코드는 다음과 같습니다.

나는 로컬 네트워크에 자바 클라이언트를 통해 메시지를 보내려고, 그리고 ..

작동하지만 이해할 수없는 문제가 : 나는 GPS에서 메시지를받을 때, 내가이 얻을 오류 :

serveur.Serveur.main에서
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.java:27)

오류가 line String str = in.readLine();

에서 온다

소프트웨어가 메시지 NMEA를 가로 챌 수 있었던 이유는 무엇입니까?

UPDATE : I가 네트워크 스니핑

가 여기 결과 :

[내 GPS에 의해 사용되는 프로토콜] [4]

첫 번째 패킷이 GPS로부터 수신 (the hidden ip adress is my fixed public address) : enter image description here

소프트웨어의 첫 번째 응답 (1/2) (비어있는 메시지) :

소프트로부터

enter image description here

: 다음 GPS로부터 enter image description here

: 소프트웨어 (2/2)에서 451,515,

enter image description here

enter image description here

는 GPS로부터 (1/2) (비어있는 메시지) : 는 GPS에서

마지막으로 긴/위도/속도 (2/2) : 나는 이미 기록 된대로 enter image description here

의 GPS에 의해 전송 된 빈 메시지는 그래서 ... 여기있다 모든 세부 사항입니다.

@ Peter Lawrey : 바이트 단위로 메시지를 읽으려고했지만 netbeans에서 오류가 발생했습니다. 코드 조각을 줄 수 있습니까? 덕분에 희망이 도와주세요.

+0

당신은 GPS가 소켓 클라이언트입니다 확실 해요? 장치가 서버라고 생각하는 것이 합리적입니다. –

+0

잘 모르겠습니다 만, 일반적으로 이것은 소켓 클라이언트입니다 ... –

+0

장치와 서버가 같은 컴퓨터에 있습니까? –

답변

2

GPS가 회선을 보내고 있습니까? (새 회선으로 끝남)? (AN EOF에 도달 할 때까지) 내가 읽은 사용하는 것이 그렇지 않은 경우

()을 반복적으로 보내는 모든 데이터를 얻을 수

+0

답변 해 주셔서 감사합니다.하지만 새 라인이 끝나는 것을 어떻게 확인할 수 있습니까? –

+0

당신은 트래픽을 냄새를 맡을 수도 있고,이 가정을하지 않고 모든 바이트를 읽음으로써 그것이 무엇을 제공하는지 알 수 있습니다. –

+0

PeterLawrey : 효과적으로 GPS가 줄 바꿈없이 문자 목록을 전송합니다 ... 해결되었습니다! –

관련 문제