Share via


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

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

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

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