connect()되어서 열심히 잘 통신하다가 외부 요인에 의해 커넥션이 끊어졌을 때 send()를 하면 갑자기 죽어버릴때가 있다.
이건 send() 할때 sig_pipe signal이 발생을 하는데 이걸 catch 하지 못하여 종료가 된다고 한다.
따라서 이와 같은 경우에는 다음과 같이 MSG_NOSIGNAL를 이용하거나 아니면 sig_pipe signal 핸들러를 등록하여 처리해주도록 한다.
역시 네트워크는 복잡하다. 이것만으로 다 해결이 안될 것 같은데 나머지는 발견하는대로 포스팅하자.
자 그럼 남은건 굿럭.
이건 send() 할때 sig_pipe signal이 발생을 하는데 이걸 catch 하지 못하여 종료가 된다고 한다.
따라서 이와 같은 경우에는 다음과 같이 MSG_NOSIGNAL를 이용하거나 아니면 sig_pipe signal 핸들러를 등록하여 처리해주도록 한다.
send(fdSocket, pBuffer, nBufferSize, MSG_NOSIGNAL);
역시 네트워크는 복잡하다. 이것만으로 다 해결이 안될 것 같은데 나머지는 발견하는대로 포스팅하자.
자 그럼 남은건 굿럭.



Attribution/Share Alike 2.0 license






