|
네트웍 프로그램은 로직 자체는 단일 환경에서 만들수도 있고 또한 ip 공유기를 사용해서
만들수도 있습니다.
단 이런 상황은 대부분 안정적인 네트웍 환경을 제공한다는 것이죠.
자기 컴퓨터에 자기가 연결을 하면 전혀 다른 트래픽이 끼어들지 않기 때문에
편안 하다는 것이죠.
네트웍 프로그램은 결국 멀리 떨어진 곳과의 연결을 목적으로 하기 때문에
극한 상황에서의 대처가 필요 합니다.
가령 ADSL 의 환경 같은경우 어느순간 잠시 연결이 끊어지는 상황이 발생 합니다.
원칙적으로 끊어진다는 것은 연결의 종료라 할 수 있겠죠. 이유는 양쪽 모두가 disconnect
요청을 받아 끊어 버리는건데
원칙은 한곳에서 끊겠다고 요청하고 끊어야 되는데
중간에 네트웍 자체가 끊어지면 서로가 서로를 끊겠다고 요청하는 거나 마찬가지니까.
않끊는다고해도 끊어지지만요 ㅠ.ㅠ ,, 결국 이렇게 끊어지는 상황을 극복해야 됩니다.
또한 프로토콜을 어느걸 쓰느냐 (UDP 냐 TCP 냐 등등) 또한 연결 방식을 Nonblock 이냐 block 이냐에
따라 다를 수 있습니다.
즉 결국에 극심한 스트레스 테스트도 수행해야 된다는 것이죠.
이론적으로는 충분히 가능하지만 실제 상황은 비가오고 눈이오고 바람이 부는 것이나 마찬가지니까요.
즉 단일 컴으로 짠다면 논리는 맞게 짤수는 있지만 , 극한 상황을 연출하기 힘들다는 것이죠.
실전은 사실 많이 다릅니다. 어떠한 프로그램이냐 에 따라 달라질 수 있고요.. << 제 개인적인 결론 입니다.
또한 방화벽도 무시하면 않된답니다.
기껐 짜도 방화벽 환경에 영향을 받을 수 있으니까요.
어려운 상황이시라도 꼭 성공하세요.
김상면 님이 쓰신 글 :
: 저의 프로그램환경은 열악한테 요구하는 수준은 거의 전 분야입니다.
: 책에 보면 네트워크 프로그램은 단일 데스크탑에서 만들수 있고 충분히 테스트 할수 있다고 합니다.
: 하지만 경험자의 이야기에는 만들때는 잘되는데 프로그램을 배치하고 나면 문제가 생긴다고 하던데 찐짜인가요?
: 그럼 IP공유기를 사용해서 만들면 IP공유기가 있는 상황에서 밖에 못 쓴다는 이야긴데....
: 정말로 책과는 실전에 이렇게 다른가요?
: 그럼
|