| [ KAIST ] in KIDS 글 쓴 이(By): gammir (INSOMNIA) 날 짜 (Date): 2001년 5월 10일 목요일 오후 02시 44분 52초 제 목(Title): [Q] 네트워크 프로그래밍 IT쪽에 한다리 걸치고 있지만 아무것도 모르는 넘입니다. TCP/IP로 클라이언트 서버 프로그래밍을 하는데, 송신자가 아주 중요한 메시지를 보낼려고 합니다. 그래서 메시지를 보내고, 수신 확인 메시지가 와야 다음 메시지를 보낼 수 있습니다. 그럼 프로그래밍 할때 Socket a가 있으면 다음 둘중 어떻게 해야 메시지1이 안전하게 보내진 다음에 메시지2를 보낸다는 원리에 충족 됩니까? i) a.write(메시지1); 이라고 하면 TCP/IP 규약 상 알아서 메시지1이 보내지고, 송신이 실패할 경우 exception이 발생한다. 따라서 다음과 같이 하면 된다. a.write(메시지1); b.write(메시지2); ii) 메시지 1이 보내진 후 acknowledge를 명시적으로 받은 후 메시지 2를 보내야 한다. a.write(메시지1); a.read(메시지1_ack); a.write(메시지2); |