UDP의 특성상 거의 raw socket수준의 전송이 일어나게
될것이고, 성능에는 차별을 둘 수 없어보입니다.
대체로, 망상태에 따라서 UDP의 성능이(에러율로 기인한) 좌우되게 되며,
UDP는 심지어 운영체제 내(프로토콜스택)에서도 데이터 손실이 벌어질수 있으나,
시스템호출(send,sendto, sendmsg)로 인해서는 성능에 영향을 줄 수 없습니다.
특이사항은 send()인데, 이는 UDP에 connect()를 호출하여, 사용하게 되는데, connect를 호출함으로 인해
특정 주소에 대한 정보 없이 소켓디스크립터만으로 정보를
송수신할 수 있는 장점과 UDP임에도 불구하고 해당 연결과만 데이터를 주고 받을 수 있다를 단점으로 갖게됩니다.
대체로 대동소이하며, 단지 코딩 취향에 맞게 불러쓰시면 될듯합니다.
*테스트를 해보지 않았으나, 성능과는 관계없어 보입니다. UDP의
*테스트를 해보지 않았으나, 성능과는 관계없어 보입니다.
UDP의 특성상 거의 raw socket수준의 전송이 일어나게
될것이고, 성능에는 차별을 둘 수 없어보입니다.
대체로, 망상태에 따라서 UDP의 성능이(에러율로 기인한) 좌우되게 되며,
UDP는 심지어 운영체제 내(프로토콜스택)에서도 데이터 손실이 벌어질수 있으나,
시스템호출(send,sendto, sendmsg)로 인해서는 성능에 영향을 줄 수 없습니다.
특이사항은 send()인데, 이는 UDP에 connect()를 호출하여, 사용하게 되는데, connect를 호출함으로 인해
특정 주소에 대한 정보 없이 소켓디스크립터만으로 정보를
송수신할 수 있는 장점과 UDP임에도 불구하고 해당 연결과만 데이터를 주고 받을 수 있다를 단점으로 갖게됩니다.
대체로 대동소이하며, 단지 코딩 취향에 맞게 불러쓰시면 될듯합니다.
[quote="Anonymous"]...대체로, 망상태에 따라서
이어서 한마디 더...
이로 인해 테스트하는것도 쉽게는 안됩니다. 어디서, 어느 레이어에서 데이터가 소멸(실종)되었는지를 찾아내는것도 쉽지 않기때문입니다.
댓글 달기