개발메모(형식에 매이지 않는 짤막한 개발 낙서)

TCP 통신 끊어지는 것 확인하기

조회 수 404 추천 수 0 2016.10.11 11:18:36

RS232 통신과 달리

TCP 통신을 할 때에는 Server와 Client 간의 연결이 해제되는 것을 대체로 쉽게 감지할 수 있습니다.

 

Server가 연결을 끊든, Client가 끊든 연결되어 있는 상대측에 Disconnect 정보를 전달하는 것 같습니다.

 

하지만, LAN 선이 뽑힌다거나 하면, 연결이 끊어져 어떠한 신호도 전달받지 못하는 데도

Server 프로그램에서는 금방 연결이 해제된 것으로 나타나지만,

Client 프로그램에서는 연결이 유지되고 있는 것으로 나타납니다.

 

이를 방지하기 위해,

정기적으로 패킷을 송수신하여 연결이 유지되고 있는 것을 확인하는 방법도 있겠습니다.

매번 송수신하지 않으려면, 송신만 하더라도 약 20초 정도 지나니까 연결이 해제된 것이 확인이 되네요.

 

이 20초 정도가 어떻게 해서 나온 시간인지는 좀더 알아봐야겠지만,

통신이 끊어진 것을 확인할 수 있는 또다른 방법도 될 수 있겠습니다.

 

파나소닉 PV200 비전 컨트롤러로부터 비전 검사한 이미지를 화면캡쳐로 가져오는데,

어떤 경우에는 LAN선이 연결되어 있음에도 연결이 끊어져 있는 경우가 간혹 생기는데,

그걸 감지 못하는 경우가 생겨서 알아본 중간결과입니다.

 

2016-10-11

List of Articles
번호 제목 글쓴이 날짜 조회 수
173 [번역] LabVindows/CVI 2017을 통한 개발 시간 단축 허창원 2017-07-31 322
» TCP 통신 끊어지는 것 확인하기 허창원 2016-10-11 404
171 CVI에서 C Extension과 Clang 3.3 관련 기능 링크 허창원 2016-05-06 456
170 LabVIEW와 LabWindows/CVI에 사용된 컴파일러 기술, LLVM 허창원 2016-05-06 463
169 [링크] ANSI C99 Extensions in LabWindows/CVI 허창원 2016-05-03 311
168 [제한사항] 프로젝트파일의 전체경로 길이 허창원 2016-02-04 340
167 OpenCV에서 주로 사용되는 접두어 방식 메모 file [1] 허창원 2014-06-13 692
166 [메모] LabWindows/CVI 2013 부터는 OpenMP 병렬 프로그래밍을 지원한다는데 허창원 2014-01-30 818
165 [링크,스크랩] 스마트폰과 태블릿 PC를 활용한 측정과 컨트롤 허창원 2014-01-09 1124
164 [링크] Linux에서 LabWindows/CVI 프로그램을 돌리는 것에 대해 [1] 허창원 2013-12-17 752
163 [참고] 유용한 데이터형, 매크로상수 모아봄 허창원 2013-12-12 837
162 CVI 2013 Run-Time Engine이 문제가 있는 것인지? 허창원 2013-09-30 840
161 Unicode 유니코드 관련 [1] 허창원 2013-07-11 1715
160 Thread 사용 순서 간단 요약 허창원 2012-11-22 2920
159 테이블의 셀의 값 변경하는 함수 관리자 2011-06-02 4652
158 CVI 주제별 모음 게시판 구상 허창원 2011-05-11 6566
157 MAX 데이터베이스가 손상되었을 때의 조치 [1] 허창원 2010-06-13 6592
156 그래프의 채널별 색깔 순서를 저는 이렇게 [1] 허창원 2010-01-26 6302
155 간단한 경과시간 관리 허창원 2010-01-13 5462
154 NI의 CVI 웹페이지 허창원 2009-10-01 5261