Nota: il 30 gennaio 2024 è terminato il supporto di PHP 5. Le applicazioni PHP 5 esistenti continueranno a funzionare e a ricevere traffico. Tuttavia, App Engine potrebbe bloccare il nuovo deployment delle applicazioni
che utilizzano i runtime
dopo la data di fine del supporto.
Ti consigliamo di eseguire la migrazione alla versione più recente di PHP supportata.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il traffico proveniente dalle socket viene fatturato come
larghezza di banda in uscita.
App Engine supporta le socket in uscita utilizzando i metodi della libreria PHP standard, come fsockopen.
Per le opzioni supportate, le chiamate a
socket_get_option
restituiranno un valore simulato e le chiamate a
socket_set_option
verranno ignorate silenziosamente. Continueranno a essere generati errori per le opzioni non supportate.
Le opzioni supportate sono:
SO_KEEPALIVE
SO_DEBUG
TCP_NODELAY
SO_LINGER
SO_OOBINLINE
SO_SNDBUF
SO_RCVBUF
SO_REUSEADDR
Limitazioni e restrizioni
Il supporto delle socket in App Engine presenta le seguenti limitazioni:
Non puoi creare una socket di ascolto; puoi creare solo socket in uscita.
FTP non è supportato.
Puoi utilizzare solo TCP o UDP; i protocolli arbitrari non sono consentiti.
Non puoi eseguire il binding ad indirizzi IP o porte specifici.
La porta 25 (SMTP) è bloccata, ma puoi comunque utilizzare SMTP autenticato sulla porta di invio 587.
Gli intervalli IP privati, di trasmissione, multicast e di Google sono bloccati, ad eccezione di quelli elencati di seguito:
Google Public DNS: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888,
2001:4860:4860::8844 porta 53
SMTPS di Gmail: smtp.gmail.com porta 465 e 587
Gmail POP3S: pop.gmail.com porta 995
IMAPS di Gmail: imap.gmail.com porta 993
I descrittori di socket sono associati all'app App Engine che li ha creati e non sono trasferibili (non possono essere utilizzati da altre app).
Le socket possono essere recuperate dopo 10 minuti di inattività; qualsiasi operazione sulla socket mantiene la socket attiva per altri 10 minuti.
Utilizzo dei socket con il server di sviluppo
Puoi eseguire e testare il codice utilizzando le socket sul server di sviluppo, senza utilizzare parametri della riga di comando speciali.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-03-26 UTC."],[[["This socket API is not recommended anymore, as apps using it are limited to the PHP 5 runtime and need to migrate to a different solution before upgrading to PHP 7/8."],["App Engine supports outbound sockets through standard PHP library methods like `fsockopen`, with limited options for `socket_get_option` and `socket_set_option`."],["Only outbound sockets are allowed; creating listen sockets is not possible, and certain protocols like FTP and arbitrary protocols are unsupported."],["Specific restrictions apply, such as the inability to bind to specific IPs or ports, the blocking of port 25, and the blocking of private, broadcast, and multicast IP ranges, except for specific Google services like Google Public DNS and Gmail."],["Sockets are non-transferable and may be automatically reclaimed after 10 minutes of inactivity, with any socket operation extending their life by another 10 minutes."]]],[]]