posted by 방랑군 2012. 1. 18. 23:01

있을만한데 질의 게시판에 없네요..;;

 

스레드를 많이 사용하면 단점이 무엇일까요..;;

 

 

멀티 플렉싱 방식인 Select는 헤더함수를 보니까 fd_array가 64개로 잡혀있어서 소켓을 64개까지밖에 컨트롤을 못하더군요..

 

실제로 테스트해보니까 64개 이후에는 Select처리가 되지 않더군요..;;

 

실제 스레딩과 플렉싱 서버의 장단점이 무엇이 있을까요.. 음.. 많은 답변 부탁드립니다.

 

 

 

+

UDP와 TCP통신을 자주 사용하게 되는데요,

실제 UDP같은 경우는 데이타 손실이 일어나도 되는 통신에 사용되고

TCP같은 경우 데이터 손실이 없어야 할 압축파일 같은 파일 전달시 사용되게 됩니다.


TCP의 경우, 3 way hand shaking이 일어나기 때문에 손실이 발생하지 않지요.

 

속도의 차이다라는 부분은 접근과 종료할 경우 3way hand shaking이 일어나는 부분에서 시간이 걸리기 때문이고

오랜시간 통신을 할경우 TCP와 UDP의 속도차이는 없다고 알고있습니다.

 

여기서 질문인데요. 속도의 차이도 크지 않고 데이터의 전달도 확실치 않은 UDP 통신은 무엇을 전달할 때사용되나요..?

딱히 UDP 통신의 매력을 모르겠습니다. 반드시 UDP로 만들어야하는 프로그램들이 존재하나요?

이 글에 답변 등록하기
[채택답변] re:ApiClasser
0
2011-07-14 오후 11:59:52
 질문자 인사 : 친절한 답변 감사드려요~^^
  진정한 (omlnet)  진정한님께 메시지 보내기진정한님을 내 주소록에 추가합니다.진정한님의 개인게시판 가기 번호: 863758  

스레드 관련 해서는 처리 구조가 어떠한가에 따라 달리 설명 될수 있는 부분입니다 .

 

일반적으로 스레드가 많다면 그많큼 관리 및 프로그램 하기가 어려워 지죠..

 

그렇다고 해도 스레드를 많이 사용한다고 성능 향상이 되는것도 아닙니다 .^^

 

적절 하게 사용하는게 좋습니다.

 

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

 

UDP 관련해서 현재 현장에서도 사용하고 있기도 합니다 .^^

 

1:1 통신 중이면 TCP 와 UDP 통신에는 아무런 차이를 느끼지 못합니다. ^^

 

하지만 n:n 통신중에 사용한다면 TCP 같은 경우는 병목 현상이 발생합니다. ^^

 

그럼으로 느려지고 패킷 손실 부분을 채우기 위해서 재 전송 하는 부분도 동작 하게 되는거죠.

 

그만큼 이 느려 집니다.

 

하지만 UDP 는 다릅니다. 느려지면 그대도 날려 버리고 다음 메시지를 받으면 됩니다.

 

UDP 경우 하드웨어 제어에 사용됩니다.

'강좌 > C#' 카테고리의 다른 글

마샬링 (Marshaling)  (0) 2012.01.18
멀티스레드 -> 멀티플렉싱  (0) 2012.01.18
멀티플렉싱(multiplexing)  (0) 2012.01.18
Stream, Dgram 설명  (0) 2012.01.18
Invoke 개념 이해하기  (0) 2012.01.18