以前のバンドル サービス用の Sockets API


ソケットからのトラフィックは送信帯域幅として課金されます。App Engine では、標準の PHP ライブラリのメソッド(fsockopen など)を使用したアウトバウンド ソケットがサポートされます。サポートされているオプションに関しては、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.88.8.4.42001:4860:4860::88882001: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 分延長されます。

    開発用サーバーでソケットを使用する

    ソケットを使用したコードは、開発用サーバーでそのまま実行してテストできます。特別なコマンドライン パラメータは必要ありません。