본문 바로가기

(비정기) Dlbo's Post

Design Pattern & Network, 5. 간략한 UDP 서버.

아흠. 아무래도 그냥 데스크탑 한대 뽑아야 할까 봅니다. -_-;;

-------------------------------------------------------------------------------------------

간만에 돌아왔습니다.

이번에는 UDP 서버의 간략한 소스를 보지요.



... 저번 TCP/IP 서버보다 더 대충 만들어진 티가 납니다만 -_-;

전송 프로토콜이 SOCK_DGRAM이 되었다는 점만 바뀌고, 사실상 거의 안바뀌었다고 봐도 됩니다.

UDP프로토콜은 이전 포스트에서도 언급했듯, 일단 그냥 패킷을 네트워크 상에 보내버리고,

그 패킷이 타겟에 도착했는지 아닌지 체크하지 않습니다.

뭐... 그리하여 소스가 더 간단하지는 않을까 고민을 해도,

이 코드처럼 결국은 TCP/IP나 UDP나 코드가 얼추 비스무레 해져 버리지요.

절차지향언어인 C에서 소켓을 구성하기에는 무리가 있기 때문에 이런 비효율적인 코드형태가 되었습니다.

오버로딩이 없으니 같은 기능을 하는 함수임에도 불구하고 각 소켓에 따른 다른 이름의 함수(recvfrom과 recv)등이

나오고, 귀찮게시리 다 외워야 하게 된 거지요.

------------------------------------------------------------------------------------------------

요 주제도 요만 끊어야 할 듯 합니다.

좀 눈요기거리라도 많을법하면 포스팅거리로 적당한데,

주로 내부 동작 위주이기 때문에 간략하게 서버까지만 소개하고 끝내는 방법이 좋을 듯 합니다.

적당한 포스팅거리가 생길때 까진 간단한 칼럼 형식으로 포스트를 띄우겠습니다.