기존 번들 서비스용 Sockets API


소켓의 트래픽 요금은 발신 대역폭으로 청구됩니다. App Engine에서는 fsockopen과 같은 표준 PHP 라이브러리의 메서드를 사용하여 아웃바운드 소켓을 지원합니다. 지원되는 옵션의 경우 socket_get_option을 호출하면 모의 값이 반환되고 socket_set_option을 호출하면 자동으로 무시됩니다. 지원되지 않는 옵션에 대해서는 오류가 계속 발생합니다. 지원되는 옵션은 다음과 같습니다.

  • SO_KEEPALIVE
  • SO_DEBUG
  • TCP_NODELAY
  • SO_LINGER
  • SO_OOBINLINE
  • SO_SNDBUF
  • SO_RCVBUF
  • SO_REUSEADDR

제한 및 제약사항

App Engine의 소켓 지원에는 다음과 같은 제한사항이 있습니다.

  • 리슨 소켓을 만들 수 없으며 아웃바운드 소켓만 만들 수 있습니다.
  • FTP는 지원되지 않습니다.
  • TCP 또는 UDP만 사용할 수 있습니다. 임의 프로토콜은 허용되지 않습니다.
  • 특정 IP 주소 또는 포트로 바인딩할 수 없습니다.
  • 포트 25(SMTP)가 차단됩니다. 제출 포트 587에서 인증된 SMTP를 계속 사용할 수 있습니다.
  • 비공개, 브로드캐스트, 멀티캐스트, Google IP 범위는 아래 나열된 항목을 제외하고 차단됩니다.

    • Google Public DNS: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 포트 53
    • Gmail SMTPS: smtp.gmail.com 포트 465 및 587
    • Gmail POP3S: pop.gmail.com 포트 995
    • Gmail IMAPS: imap.gmail.com 포트 993
  • 소켓 설명자는 자신을 만든 App Engine 앱에 연결되며 전송될 수 없습니다(다른 앱에서 사용 불가).

  • 비활성 상태가 10분간 지속되는 소켓은 회수할 수 있습니다. 모든 소켓 작업에서 소켓이 10분 더 활성 상태로 유지됩니다.

    개발 서버와 소켓 사용

    특수 명령줄 매개변수를 사용하지 않고 개발 서버에서 소켓을 사용하여 코드를 실행 및 테스트할 수 있습니다.