다음을 통해 공유


대화형 애플리케이션에 대한 모범 사례

Life 셀 업데이트 코드를 모핑할 때 고성능 네트워크 애플리케이션을 작성하기 위한 몇 가지 지침이 발견되었습니다. 이러한 유형의 애플리케이션을 작성할 때 적용할 몇 가지 일반적인 전략은 다음과 같습니다.

  • 데이터를 가능한 한 스트리밍 방식으로 처리하세요, 청크 단위로 가지 않고.
  • 많은 작은 트랜잭션이 아닌 몇 가지 큰 트랜잭션을 사용합니다. 대규모 트랜잭션도 효율적으로 스트리밍할 수 있습니다.
  • 네트워크가 느리고 신뢰할 수 없는 리소스임을 인식하고 각 애플리케이션을 개발하여 네트워크에 대한 의존도를 최소화합니다.
  • 네트워크에서 데이터의 잘 설계된 표현을 사용합니다. 데이터 표현은 컴퓨터 아키텍처에 독립적이어야 하며, 지방을 포함하지 않으며, 압축될 수 있습니다.
  • 초기화 및 종료 중에는 사용자가 네트워크가 시작되거나 종료되기를 기다리지 마세요. 네트워크 관련 초기화에는 비교적 오랜 시간이 걸릴 수 있습니다. 비임계 네트워크 코드를 구분합니다.
  • 오류의 심각도에 따라 적절히 대응합니다. 모든 오류가 중요한 것은 아닙니다. 복구 메커니즘을 구현하고 비침입 사용자 피드백을 제공합니다.
  • 적절한 경우에만 RPC(원격 프로시저 호출)를 사용합니다. RPC는 Windows Me/98에서 동기적이며 소량의 데이터를 보내는 데 사용될 때 항상 번잡하고 뚱뚱한 프로토콜을 생성합니다.
  • Netstat를 사용하여 네트워크 오버헤드 측정; 측정값이 표시되는 내용에 놀랄 수 있습니다.
  • 특히 느리거나 손실이 발생하기 쉬운 다양한 네트워크에서 애플리케이션을 테스트합니다. 인터넷을 통해 무선 LAN 네트워크, 모뎀 및 VPN(가상 사설망)은 테스트에 적합한 네트워크입니다.

고성능 Windows 소켓 애플리케이션