리눅스가 같은 시스템내에서 UDP에 대한 보장이 없으며 데이터가 한꺼번에 많은경우 잃어버리더군요. 당연한 거겠죠? 뭐 이에대한 처리를 해준다면 모를까..(라이브러리를 쓴다거나.....)
어찌껀 같은 시스템내에서 전송을 한다면 유닉스도메인소켓을 추천합니다. 일반적인(외부로 주로통신하는..) 소켓통신보다 오버헤드가 적습니다. 소켓함수를 거의 그데로 이용하므로 호환성도 높습니다.(fd를 이용하므로 일반소켓입니다.) UDP에 대한 데이터 신뢰성에 고민한다면 유닉스도메인소켓-TCP를 쓰셔도 되겠습니다.
다른 사이트에서 일어난 토론을 보니 다른 IPC보다 느린것으로 확인되었으나 호환성, 유지보수, 확장성, 유연성이 보다 높다고 생각되네요.
말씀하신 이슈사항은 제가 잘 모르지만 리눅스상에서 소켓에서 받아오는 메모리카피는 어쩔 수 없다고 생각되는데요(아마도 제로카피를 말씀하시는듯 한데..)..리눅스 소켓에서 아직 지원하지 않는 AIO가 제로카피를 해주는것으로 알고 있으나 사용법이 좀.....막막하다는..아직 지원하는지도 좀 그렇고.
메모리카피를 안하고 싶다면 공유메모리를 사용해야 하지 않을까요. 참고가 되었으려나요.....
리눅스가 같은 시스템내에서 UDP에 대한 보장이 없으며 데이터가 한꺼번에
리눅스가 같은 시스템내에서 UDP에 대한 보장이 없으며 데이터가 한꺼번에 많은경우 잃어버리더군요. 당연한 거겠죠? 뭐 이에대한 처리를 해준다면 모를까..(라이브러리를 쓴다거나.....)
어찌껀 같은 시스템내에서 전송을 한다면 유닉스도메인소켓을 추천합니다. 일반적인(외부로 주로통신하는..) 소켓통신보다 오버헤드가 적습니다. 소켓함수를 거의 그데로 이용하므로 호환성도 높습니다.(fd를 이용하므로 일반소켓입니다.) UDP에 대한 데이터 신뢰성에 고민한다면 유닉스도메인소켓-TCP를 쓰셔도 되겠습니다.
다른 사이트에서 일어난 토론을 보니 다른 IPC보다 느린것으로 확인되었으나 호환성, 유지보수, 확장성, 유연성이 보다 높다고 생각되네요.
말씀하신 이슈사항은 제가 잘 모르지만 리눅스상에서 소켓에서 받아오는 메모리카피는 어쩔 수 없다고 생각되는데요(아마도 제로카피를 말씀하시는듯 한데..)..리눅스 소켓에서 아직 지원하지 않는 AIO가 제로카피를 해주는것으로 알고 있으나 사용법이 좀.....막막하다는..아직 지원하는지도 좀 그렇고.
메모리카피를 안하고 싶다면 공유메모리를 사용해야 하지 않을까요. 참고가 되었으려나요.....
UDP를 써야 할 이유가 반드시 있다면 모를까? 다른 IPC메카니즘을 선
UDP를 써야 할 이유가 반드시 있다면 모를까? 다른 IPC메카니즘을 선택하시는게 좋을 듯 싶습니다.
댓글 달기