소켓의 트래픽 요금은 발신 대역폭으로 청구됩니다. 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
- Google Public DNS:
소켓 설명자는 자신을 만든 App Engine 앱에 연결되며 전송될 수 없습니다(다른 앱에서 사용 불가).
비활성 상태가 10분간 지속되는 소켓은 회수할 수 있습니다. 모든 소켓 작업에서 소켓이 10분 더 활성 상태로 유지됩니다.
개발 서버와 소켓 사용
특수 명령줄 매개변수를 사용하지 않고 개발 서버에서 소켓을 사용하여 코드를 실행 및 테스트할 수 있습니다.