안드로이드와 라즈베리파이(파이썬)의 소켓 통신 중 문제가 생겼습니다.
글쓴이: magmacoffee / 작성시간: 수, 2016/01/06 - 5:23오후
안드로이드(클라이언트)와 라즈베리파이(서버)의 소켓 통신을 하려는데 Broken pipe 에러가 납니다.
지금 전체 시스템 구조가
안드로이드 <---TCP---> 라즈베리파이2 <---MODBUS---> 터치스크린
이렇게 되어 있어서 라즈베리파이와 터치스크린 간에 연동은 마친 상태입니다.
안드로이드 앱에서 버튼을 눌렀을때 파이를 거쳐 터치 스크린에 그 값이 변경되는것 까지도 됩니다.
그런데 최초 접속시 스크린의 정보를 가져와야 하는 상황에서 상태 값을 라즈베리파이 -> 스마트폰 으로 보내는 과정에서 에러가 발생하네요
Broken pipe 에러를 구글링 해보니 소켓이 닫힌 상태에서 읽기/쓰기 를 하려고 하면 발생하는 것이라고 이해했습니다만..
정확히 이해한게 맞는지도 모르겠습니다.
소켓을 열어두면 예외가 발생하지 않는 이상 계속 유지되는 걸로 알고 있는데 이것도 잘못알고 있는건지 참 막막합니다.
File attachments:
첨부 | 파일 크기 |
---|---|
recvSocket.PNG | 67.22 KB |
Connect.PNG | 69.14 KB |
pi.PNG | 41.76 KB |
Forums:
여기 비슷한 오류가 있네요.
Broken pipe 에러
https://www.google.co.kr/search?q=Broken+pipe+%EC%97%90%EB%9F%AC&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ko:official&client=firefox-a&gfe_rd=cr&ei=yfGMVo6rE9PC8Ae76KMo&gws_rd=ssl
https://search.naver.com/search.naver?where=nexearch&frm=ff&sm=oss&ie=utf8&query=Broken+pipe+%EC%97%90%EB%9F%AC
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기