(비정기) Dlbo's Post
Design Pattern & Network, 5. 간략한 UDP 서버.
알 수 없는 사용자
2009. 5. 19. 22:17
아흠. 아무래도 그냥 데스크탑 한대 뽑아야 할까 봅니다. -_-;;
-------------------------------------------------------------------------------------------
간만에 돌아왔습니다.
이번에는 UDP 서버의 간략한 소스를 보지요.
... 저번 TCP/IP 서버보다 더 대충 만들어진 티가 납니다만 -_-;
전송 프로토콜이 SOCK_DGRAM이 되었다는 점만 바뀌고, 사실상 거의 안바뀌었다고 봐도 됩니다.
UDP프로토콜은 이전 포스트에서도 언급했듯, 일단 그냥 패킷을 네트워크 상에 보내버리고,
그 패킷이 타겟에 도착했는지 아닌지 체크하지 않습니다.
뭐... 그리하여 소스가 더 간단하지는 않을까 고민을 해도,
이 코드처럼 결국은 TCP/IP나 UDP나 코드가 얼추 비스무레 해져 버리지요.
절차지향언어인 C에서 소켓을 구성하기에는 무리가 있기 때문에 이런 비효율적인 코드형태가 되었습니다.
오버로딩이 없으니 같은 기능을 하는 함수임에도 불구하고 각 소켓에 따른 다른 이름의 함수(recvfrom과 recv)등이
나오고, 귀찮게시리 다 외워야 하게 된 거지요.
------------------------------------------------------------------------------------------------
요 주제도 요만 끊어야 할 듯 합니다.
좀 눈요기거리라도 많을법하면 포스팅거리로 적당한데,
주로 내부 동작 위주이기 때문에 간략하게 서버까지만 소개하고 끝내는 방법이 좋을 듯 합니다.
적당한 포스팅거리가 생길때 까진 간단한 칼럼 형식으로 포스트를 띄우겠습니다.
-------------------------------------------------------------------------------------------
간만에 돌아왔습니다.
이번에는 UDP 서버의 간략한 소스를 보지요.
... 저번 TCP/IP 서버보다 더 대충 만들어진 티가 납니다만 -_-;
전송 프로토콜이 SOCK_DGRAM이 되었다는 점만 바뀌고, 사실상 거의 안바뀌었다고 봐도 됩니다.
UDP프로토콜은 이전 포스트에서도 언급했듯, 일단 그냥 패킷을 네트워크 상에 보내버리고,
그 패킷이 타겟에 도착했는지 아닌지 체크하지 않습니다.
뭐... 그리하여 소스가 더 간단하지는 않을까 고민을 해도,
이 코드처럼 결국은 TCP/IP나 UDP나 코드가 얼추 비스무레 해져 버리지요.
절차지향언어인 C에서 소켓을 구성하기에는 무리가 있기 때문에 이런 비효율적인 코드형태가 되었습니다.
오버로딩이 없으니 같은 기능을 하는 함수임에도 불구하고 각 소켓에 따른 다른 이름의 함수(recvfrom과 recv)등이
나오고, 귀찮게시리 다 외워야 하게 된 거지요.
------------------------------------------------------------------------------------------------
요 주제도 요만 끊어야 할 듯 합니다.
좀 눈요기거리라도 많을법하면 포스팅거리로 적당한데,
주로 내부 동작 위주이기 때문에 간략하게 서버까지만 소개하고 끝내는 방법이 좋을 듯 합니다.
적당한 포스팅거리가 생길때 까진 간단한 칼럼 형식으로 포스트를 띄우겠습니다.