현재 윈도우(서버)와 리눅스(클라이언트) 간의 양방향 소켓통신을 하고 있습니다. <div><br></div> <div>서버와 클라이언트 통신은 서로 잘 됩니다.</div> <div><br></div> <div>스레드를 이용해서 서로 값을 잘 주고 받습니다.</div> <div><br></div> <div>그런데 한 가지 문제가 있습니다.</div> <div><br></div> <div>예를들어서</div> <div><br></div> <div>서버에서 apple 라는 메세지를 보내면 클라이언트는 apple 이라는 문자열에 걸린 조건을 수행합니다.</div> <div><br></div> <div>orange를 보내면 클라이언트는 orange에 걸린 조건을 수행합니다.</div> <div><br></div> <div>이런 식으로 조건을 걸어줬습니다.</div> <div><br></div> <div>처음에 해보면 잘 됩니다.</div> <div><br></div> <div>그런데 문제는</div> <div><br></div> <div>처음에 보낸 문자열이 apple 이고</div> <div>두번째에 보낸 문자열이 orange면</div> <div>세번째에 apple을 보내도 클라이언트에서 반응을 하지 않습니다.</div> <div>orange 는 반응을 합니다.</div> <div>여기서 todayhumor을 보내서 조건을 수행하면</div> <div>apple 과 orange 둘다 반응을 하지 않게 됩니다.</div> <div><br></div> <div>증상을 요약하자면</div> <div>"지금까지 보냈던 최대길이의 문자열보다 길이가 짧은 문자열들은 클라이언트에서 반응을 하지 않는다" 입니다.</div> <div><br></div> <div>보낼때마다 fflush로 메세지 배열을 비워봤는데 이건 실행중 오류가 나구요..</div> <div><br></div> <div>어떤 문제인지 감이 잡히질 않아서 질문을 드리게 되었습니다.</div> <div><br></div> <div>윈도우와 리눅스 코드를 첨부합니다.</div> <div><br></div> <div>press를 입력하게 되면 off와 on 문자열 조건을 처리하지 못하게 되는 현상입니다.</div> <div>혹은 press 보다 더 긴 문자열을 입력하면 모든 문자열 처리를 하지 못하게 됩니다.</div> <div><br></div> <div>윈도우 서버 send 함수</div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201706/149659305396329a625ffb497bafbf3733a09e5256__mn190610__w442__h160__f11382__Ym201706.jpg" width="442" height="160" alt="1.jpg" style="border:none;" filesize="11382"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">리눅스 클라이언트 recv 함수</div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201706/1496593054be6ded7d20264a65b8228cc536f71fec__mn190610__w525__h333__f19983__Ym201706.jpg" width="525" height="333" alt="2.jpg" style="border:none;" filesize="19983"></div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.