리눅스 c++ 소켓통신중 네트워크 단락상태를 확인하는 방법
글쓴이: ansrhkd00 / 작성시간: 금, 2016/08/19 - 5:28오후
안녕하세요
Centos 리눅스에서 서버프로그램과 소켓통신을 하는 클라이언트 프로그램을 작성중입니다.
그런데 send와 recv는 모두 비동기로 처리가 되고 있는 상태에서
네트워크 연결이 끊긴다거나 랜선이 뽑히는 상태가 되었을 때 이를 클라이언트 소켓에서 알 수가 없네요
윈도우 소켓을 이용할 때에는 네트워크 단락이 발생했을 때 send 함수에서 -1을 리턴해 주었던것 같은데
리눅스에서는 단락상태에서 send를 해도 연결아 되어있는 상태와 같이 보내려고 한 데이터만큼 리턴값이 나오네요
윈도우와 리눅스 소켓에 차이가 있어서 이러는건지 뭔가 설정이 잘못된건지 모르겠네요
리눅스에서 네트워크 단락 상태에서 send시 -1을 리턴해 주거나 혹은 단락이 발생했을 때 이를 알 수 있는 방법이 없을까요?
Forums:
여러가지 내용이 보이네요.
찾다보니. 윈도우 관련도 적어봅니다.
리눅스 랜선 연결 확인
http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%9E%9C%EC%84%A0_%EC%97%B0%EA%B2%B0_%ED%99%95%EC%9D%B8
/sbin/ethtool 장치명
Linux - 시스템 관리 : 네트워크 연결 확인
http://develop.sunshiny.co.kr/953
ethtool em1
리눅스 - 랜카드 상태 확인 및 연결 속도 변경 mii-tool 사용방버에 대해서
http://tip.daum.net/question/163362
Connected Internet
http://www.codeproject.com/search.aspx?q=Connected+Internet&x=0&y=0&sbo=kw
Connected network
http://www.codeproject.com/search.aspx?q=Connected+network&x=0&y=0&sbo=kw
인터넷 연결이 안될 때 확인 방법, 인터넷 접속 오류·홈페이지 접속 오류 등
http://blog.bsmind.co.kr/404
안드로이드 > 네트워크 연결 상태를 확인하는 ConnectivityManager
http://ankyu.entersoft.kr/Lecture/android/network_01.asp
C# 인터넷 연결상태 확인
http://www.dreamy.pe.kr/zbxe/CodeClip/158751
IT사랑 -- centOS 6.5(리눅스) 인터넷 연결을 위한 네트워크 설정
http://itsarang.tistory.com/32
[완료]centOS5 네트워크연결,, 도와주세요(ifconfig 첨부)
https://kldp.org/node/90044
리눅스 명령어 - netstat (네트워크 연결 상태) - 네이버 블로그
http://blog.naver.com/PostView.nhn?blogId=saipe&logNo=50100084328
리눅스 서버 네트워크 관리
https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=10730
우주곰, 엔지니어 방랑기 -- [리눅스네트워크]네트워크 관련명령어
http://se.uzoogom.com/97
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
프로토콜에서 연결확인을 구현해야 합니다.
네트워크가 예기치 않게 끊겼을 때 (랜선이 뽑인것 뿐만 아니라 중간에서 끊긴 경우도..) 연결 실패를 확인하려면 timeout시간만큼이 걸립니다. retry횟수*timeout 시간은 꽤 깁니다...
그래서 SSH도 그렇고 일정 시간마다 heartbeat(또는 ping이라고도 합니다)을 보내고 응답이 수초/수분동안 없으면 연결을 끊는 방식으로 비정상 커넥션을 정리합니다.
댓글 달기