tcp/ ip 오류에 관해서 질문입니다.
글쓴이: scroll2828 / 작성시간: 화, 2013/02/05 - 5:01오후
질문 제목 : tcp 소켓 통신 죽는현상 및 recv 오류
질문 내용 :
1. 지금 프로그램에서 plc모듈과 통신을 하는데요.. tcp ip소켓통신을 이용합니다.
문제는 프로그램내에서 socket을 생성하여 send를 하는 와중에 프로그램gui의 버튼을
누르면 어떤 message를 plc에 send하게 되는상황에서 발생하는데요..결국 통신중에 gui이벤트가
들어오게 되면 한개의 socket을 동시에 사용하게 되는현상이 됩니다...이럴경우, 프로그램이 죽는데
이유를 모르겠습니다. send명령이 겹치게 되면 죽는건지 혹은 system level에서 무한루프같은것에 빠지는건지..
아시는분 계시면 정말 감사하겠습니다!!
2. 같은 프로그램에서 1,2,3이라는 이름을 가진 쓰레드가 3개 존재하는데요..
1이 send하면 4라는 data를 plc로부터 받아야하고
2가 send하면 5라는 data를 plc로부터 받아야하고
3이 send하면 6이라는 data를 plc로부터 받아야하는데
이게 3개가 동시에 한가지 socket을 사용하여 send recv를 하니
어느순간 1이 5라는 값을 받고 2가 6이라는 값을 받는 상황이 생기게 됩니다.(sequence가 꼬인거같아요)
이럴경우 프로그램의 receive buffer를 비워서 버퍼내의 값을 삭제하고 reset하고 싶은데 방법이 없을까요?
Forums:
댓글 달기