diff --git a/language-snippets.ent b/language-snippets.ent
index 5e1fde41c..ce6c1cf16 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -1450,3 +1450,19 @@ La resource XMLWriter che è stata modificata. Questa risorsa deriv
'>
+
+
+ 8.0.0
+
+ socket ora è un'istanza di Socket;
+ in precedenza era una resource.
+
+ '>
+
+ 8.0.0
+
+ address ora è un'istanza di AddressInfo;
+ in precedenza era una resource.
+
+'>
+
diff --git a/reference/sockets/addressinfo.xml b/reference/sockets/addressinfo.xml
new file mode 100644
index 000000000..b36146388
--- /dev/null
+++ b/reference/sockets/addressinfo.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ La classe AddressInfo
+ AddressInfo
+
+
+
+
+
+ &reftitle.intro;
+
+ Una classe completamente opaca che, a partire da PHP 8.0.0, sostituisce le risorse AddressInfo.
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+
+ final
+ AddressInfo
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/reference/sockets/book.xml b/reference/sockets/book.xml
new file mode 100644
index 000000000..1d94389f2
--- /dev/null
+++ b/reference/sockets/book.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+ Sockets
+
+
+
+ &reftitle.intro;
+
+ L'estensione socket implementa un'interfaccia di basso livello alle
+ funzioni di comunicazione tramite socket, basata sui diffusi socket BSD,
+ offrendo la possibilità di operare sia come server sia come client.
+
+
+ Per un'interfaccia socket lato client più generica, vedi
+ stream_socket_client,
+ stream_socket_server,
+ fsockopen e
+ pfsockopen.
+
+
+ Quando si utilizzano queste funzioni, è importante ricordare che, sebbene
+ molte di esse abbiano nomi identici alle corrispondenti funzioni C, spesso
+ presentano dichiarazioni differenti. Assicurati di leggere le descrizioni
+ per evitare confusione.
+
+
+ Chi non ha familiarità con la programmazione dei socket può trovare molto
+ materiale utile nelle apposite pagine man di Unix, e in rete è disponibile
+ un'ampia documentazione tutorial sulla programmazione dei socket in C, gran
+ parte della quale può essere applicata, con lievi modifiche, alla
+ programmazione dei socket in PHP. La Unix Socket
+ FAQ può essere un buon punto di partenza.
+
+
+
+
+ &reference.sockets.setup;
+ &reference.sockets.constants;
+ &reference.sockets.examples;
+ &reference.sockets.errors;
+ &reference.sockets.reference;
+ &reference.sockets.socket;
+ &reference.sockets.addressinfo;
+
+
diff --git a/reference/sockets/constants.xml b/reference/sockets/constants.xml
new file mode 100644
index 000000000..de0e8b847
--- /dev/null
+++ b/reference/sockets/constants.xml
@@ -0,0 +1,3209 @@
+
+
+
+ &reftitle.constants;
+ &extension.constants;
+
+
+
+ AF_UNIX
+ (int)
+
+
+
+ Famiglia di indirizzi socket dei percorsi del filesystem nel dominio Unix.
+
+
+
+
+
+ AF_INET
+ (int)
+
+
+
+ Famiglia di indirizzi socket di IPv4 nel dominio Internet.
+
+
+
+
+
+ AF_INET6
+ (int)
+
+
+
+ Famiglia di indirizzi socket di IPv6 nel dominio Internet. Disponibile solo se compilato con il supporto a IPv6.
+
+
+
+
+
+ AF_DIVERT
+ (int)
+
+
+
+ Famiglia di indirizzi socket per l'interfaccia divert(4)
+ di FreeBSD, usata per ricevere i pacchetti deviati dal firewall.
+ Disponibile a partire da PHP 8.3.0 (solo FreeBSD).
+
+
+
+
+
+ AF_PACKET
+ (int)
+
+
+
+ Famiglia di indirizzi socket per i packet socket di basso livello, usata per
+ inviare e ricevere pacchetti grezzi a livello di driver di dispositivo (livello OSI 2).
+ Disponibile a partire da PHP 8.5.0 (solo Linux).
+
+
+
+
+
+ SOCK_STREAM
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCK_DGRAM
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCK_RAW
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCK_SEQPACKET
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCK_RDM
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCK_CONN_DGRAM
+ (int)
+
+
+
+ Imposta il socket su datagramma orientato alla connessione.
+ Disponibile a partire da PHP 8.4.0. (solo NetBSD)
+
+
+
+
+
+ SOCK_DCCP
+ (int)
+
+
+
+ Imposta il socket sul protocollo di controllo della congestione per datagrammi (DCCP).
+ Disponibile a partire da PHP 8.4.0. (solo NetBSD)
+
+
+
+
+
+ SOCK_NONBLOCK
+ (int)
+
+
+
+ Imposta il flag di stato della modalità "nonblocking" del socket.
+ Disponibile a partire da PHP 8.4.0.
+
+
+
+
+
+ SOCK_CLOEXEC
+ (int)
+
+
+
+ Imposta il flag di stato close-on-exec del socket.
+ Disponibile a partire da PHP 8.4.0.
+
+
+
+
+
+ MSG_OOB
+ (int)
+
+
+
+
+
+
+
+
+
+ MSG_WAITALL
+ (int)
+
+
+
+
+
+
+
+
+
+ MSG_PEEK
+ (int)
+
+
+
+
+
+
+
+
+
+ MSG_DONTROUTE
+ (int)
+
+
+
+
+
+
+
+
+
+ MSG_EOR
+ (int)
+
+
+
+ Non disponibile sulle piattaforme Windows.
+
+
+
+
+
+ MSG_EOF
+ (int)
+
+
+
+ Non disponibile sulle piattaforme Windows.
+
+
+
+
+
+ MSG_ZEROCOPY
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_DEBUG
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_REUSEADDR
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_REUSEPORT
+ (int)
+
+
+
+ Questa costante è disponibile solo sulle piattaforme che
+ supportano l'opzione socket SO_REUSEPORT: questo
+ include Linux, macOS e *BSD, ma non Windows.
+
+
+
+
+
+ SO_KEEPALIVE
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_DONTROUTE
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_LINGER
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_BROADCAST
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_OOBINLINE
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_SNDBUF
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_RCVBUF
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_SNDLOWAT
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_RCVLOWAT
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_SNDTIMEO
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_RCVTIMEO
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_TYPE
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_ERROR
+ (int)
+
+
+
+
+
+
+
+
+
+ SO_ZEROCOPY
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_NODELAY
+ (int)
+
+
+
+ Usata per disabilitare l'algoritmo di Nagle del TCP.
+
+
+
+
+
+ TCP_KEEPCNT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_KEEPIDLE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_KEEPINTVL
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_KEEPALIVE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_NOTSENT_LOWAT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_MARK
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ SO_USER_COOKIE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ SO_RTABLE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_ACCEPTFILTER
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ SO_DONTTRUNC
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ SO_WANTMORE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ SO_INCOMING_CPU
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_MEMINFO
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_BPF_EXTENSIONS
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_SETFIB
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SO_ATTACH_REUSEPORT_CBPF
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ SO_DETACH_BPF
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ SO_DETACH_FILTER
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ SO_RERROR
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo NetBSD)
+
+
+
+
+
+ SO_ZEROIZE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo OpenBSD)
+
+
+
+
+
+ SO_SPLICE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo OpenBSD)
+
+
+
+
+
+ SO_REUSEPORT_LB
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo FreeBSD)
+
+
+
+
+
+ SOL_FILTER
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SOL_UDPLITE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0
+
+
+
+
+
+ UDPLITE_RECV_CSCOV
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0
+
+
+
+
+
+ UDPLITE_SEND_CSCOV
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0
+
+
+
+
+
+ TCP_DEFER_ACCEPT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.1.0
+
+
+
+
+
+ TCP_CONGESTION
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ TCP_QUICKACK
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ TCP_REPAIR
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ TCP_SYNCNT
+ (int)
+
+
+
+ Imposta il numero di ritrasmissioni SYN che il TCP deve inviare
+ prima di interrompere il tentativo di connessione.
+ Disponibile a partire da PHP 8.4.0 (solo Linux)
+
+
+
+
+
+ IP_DONTFRAG
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo FreeBSD)
+
+
+
+
+
+ IP_MTU_DISCOVER
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_DO
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_DONT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_WANT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_PROBE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_INTERFACE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_PMTUDISC_OMIT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ IP_BIND_ADDRESS_NO_PORT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.3.0 (solo Linux)
+
+
+
+
+
+ SOL_SOCKET
+ (int)
+
+
+
+
+
+
+
+
+
+ PHP_NORMAL_READ
+ (int)
+
+
+
+
+
+
+
+
+
+ PHP_BINARY_READ
+ (int)
+
+
+
+
+
+
+
+
+
+ SOL_TCP
+ (int)
+
+
+
+
+
+
+
+
+
+ SOL_UDP
+ (int)
+
+
+
+
+
+
+
+
+
+
+ Le seguenti costanti sono definite sia sotto Windows sia sulle piattaforme di tipo UNIX.
+ Ogni costante è definita solo se il suo equivalente è disponibile sulla piattaforma.
+
+
+
+
+
+ SOCKET_EINTR
+ (int)
+
+
+
+ Chiamata di sistema interrotta.
+
+
+
+
+
+ SOCKET_EBADF
+ (int)
+
+
+
+ Numero di descrittore di file non valido.
+
+
+
+
+
+ SOCKET_EACCES
+ (int)
+
+
+
+ Permesso negato.
+
+
+
+
+
+ SOCKET_EFAULT
+ (int)
+
+
+
+ Indirizzo non valido.
+
+
+
+
+
+ SOCKET_EINVAL
+ (int)
+
+
+
+ Argomento non valido.
+
+
+
+
+
+ SOCKET_EMFILE
+ (int)
+
+
+
+ Troppi file aperti.
+
+
+
+
+
+ SOCKET_ENAMETOOLONG
+ (int)
+
+
+
+ Nome del file troppo lungo.
+
+
+
+
+
+ SOCKET_ENOTEMPTY
+ (int)
+
+
+
+ Directory non vuota.
+
+
+
+
+
+ SOCKET_ELOOP
+ (int)
+
+
+
+ Troppi collegamenti simbolici incontrati.
+
+
+
+
+
+ SOCKET_EWOULDBLOCK
+ (int)
+
+
+
+ L'operazione si bloccherebbe.
+
+
+
+
+
+ SOCKET_EREMOTE
+ (int)
+
+
+
+ L'oggetto è remoto.
+
+
+
+
+
+ SOCKET_EUSERS
+ (int)
+
+
+
+ Troppi utenti.
+
+
+
+
+
+ SOCKET_ENOTSOCK
+ (int)
+
+
+
+ Operazione socket su un elemento che non è un socket.
+
+
+
+
+
+ SOCKET_EDESTADDRREQ
+ (int)
+
+
+
+ Indirizzo di destinazione richiesto.
+
+
+
+
+
+ SOCKET_EMSGSIZE
+ (int)
+
+
+
+ Messaggio troppo lungo.
+
+
+
+
+
+ SOCKET_EPROTOTYPE
+ (int)
+
+
+
+ Tipo di protocollo errato per il socket.
+
+
+
+
+
+ SOCKET_EPROTONOSUPPORT
+ (int)
+
+
+
+ Protocollo non supportato.
+
+
+
+
+
+ SOCKET_ESOCKTNOSUPPORT
+ (int)
+
+
+
+ Tipo di socket non supportato.
+
+
+
+
+
+ SOCKET_EOPNOTSUPP
+ (int)
+
+
+
+ Operazione non supportata sull'endpoint di trasporto.
+
+
+
+
+
+ SOCKET_EPFNOSUPPORT
+ (int)
+
+
+
+ Famiglia di protocolli non supportata.
+
+
+
+
+
+ SOCKET_EAFNOSUPPORT
+ (int)
+
+
+
+ Famiglia di indirizzi non supportata dal protocollo.
+
+
+
+
+
+ SOCKET_EADDRNOTAVAIL
+ (int)
+
+
+
+ Impossibile assegnare l'indirizzo richiesto.
+
+
+
+
+
+ SOCKET_ENETDOWN
+ (int)
+
+
+
+ La rete non è attiva.
+
+
+
+
+
+ SOCKET_ENETUNREACH
+ (int)
+
+
+
+ La rete non è raggiungibile.
+
+
+
+
+
+ SOCKET_ENETRESET
+ (int)
+
+
+
+ La rete ha interrotto la connessione a causa di un reset.
+
+
+
+
+
+ SOCKET_ECONNABORTED
+ (int)
+
+
+
+ Il software ha causato l'interruzione della connessione.
+
+
+
+
+
+ SOCKET_ECONNRESET
+ (int)
+
+
+
+ Connessione azzerata dal peer.
+
+
+
+
+
+ SOCKET_ENOBUFS
+ (int)
+
+
+
+ Spazio di buffer non disponibile.
+
+
+
+
+
+ SOCKET_EISCONN
+ (int)
+
+
+
+ L'endpoint di trasporto è già connesso.
+
+
+
+
+
+ SOCKET_ENOTCONN
+ (int)
+
+
+
+ L'endpoint di trasporto non è connesso.
+
+
+
+
+
+ SOCKET_ESHUTDOWN
+ (int)
+
+
+
+ Impossibile inviare dopo la chiusura dell'endpoint di trasporto.
+
+
+
+
+
+ SOCKET_ETIMEDOUT
+ (int)
+
+
+
+ Connessione scaduta.
+
+
+
+
+
+ SOCKET_ECONNREFUSED
+ (int)
+
+
+
+ Connessione rifiutata.
+
+
+
+
+
+ SOCKET_EHOSTDOWN
+ (int)
+
+
+
+ L'host non è attivo.
+
+
+
+
+
+ SOCKET_EHOSTUNREACH
+ (int)
+
+
+
+ Nessuna rotta verso l'host.
+
+
+
+
+
+ SOCKET_EALREADY
+ (int)
+
+
+
+ Operazione già in corso.
+
+
+
+
+
+ SOCKET_EINPROGRESS
+ (int)
+
+
+
+ Operazione ora in corso.
+
+
+
+
+
+
+ Le seguenti costanti sono definite solo sotto Windows.
+
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_ENOPROTOOPT
+ (int)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EADDRINUSE
+ (int)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_ETOOMYREFS
+ (int)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EPROCLIM
+ (int)
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EDUOT
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_ESTALE
+ (int)
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EDISCON
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_SYSNOTREADY
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_VERNOTSUPPORTED
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_NOTINITIALISED
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_HOST_NOT_FOUND
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_TRY_AGAIN
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_NO_RECOVERY
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_NO_DATA
+ (int)
+
+
+
+
+
+
+
+
+
+ SOCKET_NO_ADDRESS
+ (int)
+
+
+
+
+
+
+
+
+
+
+ Le seguenti costanti sono disponibili solo sulle piattaforme di tipo UNIX.
+ Ogni costante è definita solo se il suo equivalente è disponibile sulla piattaforma.
+
+
+
+
+
+ SOCKET_EPERM
+ (int)
+
+
+
+ Operazione non consentita.
+
+
+
+
+
+ SOCKET_ENOENT
+ (int)
+
+
+
+ File o directory inesistente.
+
+
+
+
+
+ SOCKET_EIO
+ (int)
+
+
+
+ Errore di I/O.
+
+
+
+
+
+ SOCKET_ENXIO
+ (int)
+
+
+
+ Dispositivo o indirizzo inesistente.
+
+
+
+
+
+ SOCKET_E2BIG
+ (int)
+
+
+
+ Elenco di argomenti troppo lungo.
+
+
+
+
+
+ SOCKET_EAGAIN
+ (int)
+
+
+
+ Riprovare.
+
+
+
+
+
+ SOCKET_ENOMEM
+ (int)
+
+
+
+ Memoria esaurita.
+
+
+
+
+
+ SOCKET_ENOTBLK
+ (int)
+
+
+
+ Richiesto un dispositivo a blocchi.
+
+
+
+
+
+ SOCKET_EBUSY
+ (int)
+
+
+
+ Dispositivo o risorsa occupata.
+
+
+
+
+
+ SOCKET_EEXIST
+ (int)
+
+
+
+ Il file esiste già.
+
+
+
+
+
+ SOCKET_EXDEV
+ (int)
+
+
+
+ Collegamento tra dispositivi diversi.
+
+
+
+
+
+ SOCKET_ENODEV
+ (int)
+
+
+
+ Dispositivo inesistente.
+
+
+
+
+
+ SOCKET_ENOTDIR
+ (int)
+
+
+
+ Non è una directory.
+
+
+
+
+
+ SOCKET_EISDIR
+ (int)
+
+
+
+ È una directory.
+
+
+
+
+
+ SOCKET_ENFILE
+ (int)
+
+
+
+ Overflow della tabella dei file.
+
+
+
+
+
+ SOCKET_ENOTTY
+ (int)
+
+
+
+ Non è un terminale.
+
+
+
+
+
+ SOCKET_ENOSPC
+ (int)
+
+
+
+ Spazio esaurito sul dispositivo.
+
+
+
+
+
+ SOCKET_ESPIPE
+ (int)
+
+
+
+ Operazione di seek non consentita.
+
+
+
+
+
+ SOCKET_EROFS
+ (int)
+
+
+
+ File system di sola lettura.
+
+
+
+
+
+ SOCKET_EMLINK
+ (int)
+
+
+
+ Troppi collegamenti.
+
+
+
+
+
+ SOCKET_EPIPE
+ (int)
+
+
+
+ Pipe interrotta.
+
+
+
+
+
+
+ SOCKET_ENOLCK
+ (int)
+
+
+
+ Nessun blocco di record disponibile.
+
+
+
+
+
+ SOCKET_ENOSYS
+ (int)
+
+
+
+ Funzione non implementata.
+
+
+
+
+
+
+
+
+ SOCKET_ENOMSG
+ (int)
+
+
+
+ Nessun messaggio del tipo desiderato.
+
+
+
+
+
+ SOCKET_EIDRM
+ (int)
+
+
+
+ Identificatore rimosso.
+
+
+
+
+
+ SOCKET_ECHRNG
+ (int)
+
+
+
+ Numero di canale fuori intervallo.
+
+
+
+
+
+ SOCKET_EL2NSYNC
+ (int)
+
+
+
+ Livello 2 non sincronizzato.
+
+
+
+
+
+ SOCKET_EL3HLT
+ (int)
+
+
+
+ Livello 3 arrestato.
+
+
+
+
+
+ SOCKET_EL3RST
+ (int)
+
+
+
+ Livello 3 azzerato.
+
+
+
+
+
+ SOCKET_ELNRNG
+ (int)
+
+
+
+ Numero di collegamento fuori intervallo.
+
+
+
+
+
+ SOCKET_EUNATCH
+ (int)
+
+
+
+ Driver di protocollo non collegato.
+
+
+
+
+
+ SOCKET_ENOCSI
+ (int)
+
+
+
+ Nessuna struttura CSI disponibile.
+
+
+
+
+
+ SOCKET_EL2HLT
+ (int)
+
+
+
+ Livello 2 arrestato.
+
+
+
+
+
+ SOCKET_EBADE
+ (int)
+
+
+
+ Scambio non valido.
+
+
+
+
+
+ SOCKET_EBADR
+ (int)
+
+
+
+ Descrittore di richiesta non valido.
+
+
+
+
+
+ SOCKET_EXFULL
+ (int)
+
+
+
+ Scambio pieno.
+
+
+
+
+
+ SOCKET_ENOANO
+ (int)
+
+
+
+ Nessun anode.
+
+
+
+
+
+ SOCKET_EBADRQC
+ (int)
+
+
+
+ Codice di richiesta non valido.
+
+
+
+
+
+ SOCKET_EBADSLT
+ (int)
+
+
+
+ Slot non valido.
+
+
+
+
+
+ SOCKET_ENOSTR
+ (int)
+
+
+
+ Il dispositivo non è uno stream.
+
+
+
+
+
+ SOCKET_ENODATA
+ (int)
+
+
+
+ Nessun dato disponibile.
+
+
+
+
+
+ SOCKET_ETIME
+ (int)
+
+
+
+ Timer scaduto.
+
+
+
+
+
+ SOCKET_ENOSR
+ (int)
+
+
+
+ Risorse di stream esaurite.
+
+
+
+
+
+ SOCKET_ENONET
+ (int)
+
+
+
+ La macchina non è in rete.
+
+
+
+
+
+
+ SOCKET_ENOLINK
+ (int)
+
+
+
+ Il collegamento è stato interrotto.
+
+
+
+
+
+ SOCKET_EADV
+ (int)
+
+
+
+ Errore di advertise.
+
+
+
+
+
+ SOCKET_ESRMNT
+ (int)
+
+
+
+ Errore di srmount.
+
+
+
+
+
+ SOCKET_ECOMM
+ (int)
+
+
+
+ Errore di comunicazione durante l'invio.
+
+
+
+
+
+ SOCKET_EPROTO
+ (int)
+
+
+
+ Errore di protocollo.
+
+
+
+
+
+ SOCKET_EMULTIHOP
+ (int)
+
+
+
+ Tentativo di multihop.
+
+
+
+
+
+ SOCKET_EBADMSG
+ (int)
+
+
+
+ Non è un messaggio di dati.
+
+
+
+
+
+ SOCKET_ENOTUNIQ
+ (int)
+
+
+
+ Nome non univoco in rete.
+
+
+
+
+
+ SOCKET_EBADFD
+ (int)
+
+
+
+ Descrittore di file in uno stato non valido.
+
+
+
+
+
+ SOCKET_EREMCHG
+ (int)
+
+
+
+ Indirizzo remoto cambiato.
+
+
+
+
+
+ SOCKET_ERESTART
+ (int)
+
+
+
+ La chiamata di sistema interrotta dovrebbe essere riavviata.
+
+
+
+
+
+ SOCKET_ESTRPIPE
+ (int)
+
+
+
+ Errore di pipe degli stream.
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EPROTOOPT
+ (int)
+
+
+
+ Protocollo non disponibile.
+
+
+
+
+
+
+
+
+
+
+ SOCKET_ADDRINUSE
+ (int)
+
+
+
+ Indirizzo già in uso.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_ETOOMANYREFS
+ (int)
+
+
+
+ Troppi riferimenti: impossibile eseguire lo splice.
+
+
+
+
+
+
+
+
+
+
+
+ SOCKET_EISNAM
+ (int)
+
+
+
+ È un file di tipo denominato.
+
+
+
+
+
+ SOCKET_EREMOTEIO
+ (int)
+
+
+
+ Errore di I/O remoto.
+
+
+
+
+
+ SOCKET_EDQUOT
+ (int)
+
+
+
+ Quota superata.
+
+
+
+
+
+ SOCKET_ENOMEDIUM
+ (int)
+
+
+
+ Nessun supporto trovato.
+
+
+
+
+
+ SOCKET_EMEDIUMTYPE
+ (int)
+
+
+
+ Tipo di supporto errato.
+
+
+
+
+
+ SCM_RIGHTS
+ (int)
+
+
+
+ Invia o riceve un insieme di descrittori di file aperti da un altro processo.
+
+
+
+
+
+ SCM_CREDENTIALS
+ (int)
+
+
+
+
+
+
+
+
+
+ SCM_CREDS
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SCM_CREDS2
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ LOCAL_CREDS
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ LOCAL_CREDS_PERSISTENT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_OFF
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_PROTOCOL
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_PKTTYPE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_IFINDEX
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_NLATTR
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_NLATTR_NEST
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_MARK
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_QUEUE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_HATYPE
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_RXHASH
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_CPU
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_ALU_XOR_X
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_VLAN_TAG
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_VLAN_TAG_PRESENT
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_PAY_OFFSET
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_RANDOM
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_VLAN_TPID
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ SKF_AD_MAX
+ (int)
+
+
+
+ Disponibile a partire da PHP 8.2.0
+
+
+
+
+
+ AI_ADDRCONFIG
+ (int)
+
+
+
+
+
+
+
+
+ AI_ALL
+ (int)
+
+
+
+
+
+
+
+
+ AI_CANONIDN
+ (int)
+
+
+
+
+
+
+
+
+ AI_CANONNAME
+ (int)
+
+
+
+
+
+
+
+
+ AI_IDN
+ (int)
+
+
+
+
+
+
+
+
+ AI_NUMERICHOST
+ (int)
+
+
+
+
+
+
+
+
+ AI_NUMERICSERV
+ (int)
+
+
+
+
+
+
+
+
+ AI_PASSIVE
+ (int)
+
+
+
+
+
+
+
+
+ AI_V4MAPPED
+ (int)
+
+
+
+
+
+
+
+
+ FIL_ATTACH
+ (int)
+
+
+
+
+
+
+
+
+ FIL_DETACH
+ (int)
+
+
+
+
+
+
+
+
+ IPPROTO_IP
+ (int)
+
+
+
+
+
+
+
+
+ IPPROTO_IPV6
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_HOPLIMIT
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_MULTICAST_HOPS
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_MULTICAST_IF
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_MULTICAST_LOOP
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_PKTINFO
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_RECVHOPLIMIT
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_RECVPKTINFO
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_RECVTCLASS
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_TCLASS
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_UNICAST_HOPS
+ (int)
+
+
+
+
+
+
+
+
+ IPV6_V6ONLY
+ (int)
+
+
+
+
+
+
+
+
+ IP_MULTICAST_IF
+ (int)
+
+
+
+
+
+
+
+
+ IP_MULTICAST_LOOP
+ (int)
+
+
+
+
+
+
+
+
+ IP_MULTICAST_TTL
+ (int)
+
+
+
+
+
+
+
+
+ IP_PORTRANGE
+ (int)
+
+
+
+ Imposta l'intervallo di porte usato per selezionare un numero di porta locale.
+ Disponibile a partire da PHP 8.4.0. (solo FreeBSD/NetBSD/OpenBSD)
+
+
+
+
+
+ IP_PORTRANGE_DEFAULT
+ (int)
+
+
+
+ Usa l'intervallo predefinito di valori di porta.
+ Disponibile a partire da PHP 8.4.0. (solo FreeBSD/NetBSD/OpenBSD)
+
+
+
+
+
+ IP_PORTRANGE_HIGH
+ (int)
+
+
+
+ Usa un intervallo alto di valori di porta.
+ Disponibile a partire da PHP 8.4.0. (solo FreeBSD/NetBSD/OpenBSD)
+
+
+
+
+
+ IP_PORTRANGE_LOW
+ (int)
+
+
+
+ Usa un intervallo basso di valori di porta.
+ Disponibile a partire da PHP 8.4.0. (solo FreeBSD/NetBSD/OpenBSD)
+
+
+
+
+
+ MCAST_BLOCK_SOURCE
+ (int)
+
+
+
+
+
+
+
+
+ MCAST_JOIN_GROUP
+ (int)
+
+
+
+
+
+
+
+
+ MCAST_JOIN_SOURCE_GROUP
+ (int)
+
+
+
+
+
+
+
+
+ MCAST_LEAVE_GROUP
+ (int)
+
+
+
+
+
+
+
+
+ MCAST_LEAVE_SOURCE_GROUP
+ (int)
+
+
+
+
+
+
+
+
+ MCAST_UNBLOCK_SOURCE
+ (int)
+
+
+
+
+
+
+
+
+ MSG_CMSG_CLOEXEC
+ (int)
+
+
+
+
+
+
+
+
+ MSG_CONFIRM
+ (int)
+
+
+
+
+
+
+
+
+ MSG_CTRUNC
+ (int)
+
+
+
+
+
+
+
+
+ MSG_DONTWAIT
+ (int)
+
+
+
+
+
+
+
+
+ MSG_ERRQUEUE
+ (int)
+
+
+
+
+
+
+
+
+ MSG_MORE
+ (int)
+
+
+
+
+
+
+
+
+ MSG_NOSIGNAL
+ (int)
+
+
+
+
+
+
+
+
+ MSG_TRUNC
+ (int)
+
+
+
+
+
+
+
+
+ MSG_WAITFORONE
+ (int)
+
+
+
+
+
+
+
+
+ SOL_LOCAL
+ (int)
+
+
+
+
+
+
+
+
+ SOMAXCONN
+ (int)
+
+
+
+
+
+
+
+
+ SO_BINDTODEVICE
+ (int)
+
+
+
+
+
+
+
+
+ SO_FAMILY
+ (int)
+
+
+
+
+
+
+
+
+ SO_LABEL
+ (int)
+
+
+
+
+
+
+
+
+ SO_LISTENQLEN
+ (int)
+
+
+
+
+
+
+
+
+ SO_LISTENQLIMIT
+ (int)
+
+
+
+
+
+
+
+
+ SO_PASSCRED
+ (int)
+
+
+
+
+
+
+
+
+ SO_PEERLABEL
+ (int)
+
+
+
+
+
+
+
+
+ SO_EXCLUSIVEADDRUSE
+ (int)
+
+
+
+ Impedisce ad altri socket di eseguire forzatamente il bind sullo stesso indirizzo e porta.
+ Disponibile a partire da PHP 8.4.0. (solo Windows)
+
+
+
+
+
+ SO_EXCLBIND
+ (int)
+
+
+
+ Abilita/disabilita il bind esclusivo del socket.
+ Disponibile a partire da PHP 8.4.0. (solo Solaris)
+
+
+
+
+
+ SO_NOSIGPIPE
+ (int)
+
+
+
+ Controlla la generazione di SIGPIPE per il socket.
+ Disponibile a partire da PHP 8.4.0. (solo macOS e FreeBSD)
+
+
+
+
+
+ SO_LINGER_SEC
+ (int)
+
+
+
+ Simile a SO_LINGER ma l'attesa (lingering) è espressa in secondi
+ anziché in tick di tempo su macOS.
+ Disponibile a partire da PHP 8.4.0. (solo macOS)
+
+
+
+
+
+ SO_BINDTOIFINDEX
+ (int)
+
+
+
+ Esegue il bind di un socket su una specifica interfaccia di rete tramite il suo indice.
+ Disponibile a partire da PHP 8.4.0.
+
+
+
+
+
+
+
diff --git a/reference/sockets/errors.xml b/reference/sockets/errors.xml
new file mode 100644
index 000000000..9c15599d6
--- /dev/null
+++ b/reference/sockets/errors.xml
@@ -0,0 +1,54 @@
+
+
+
+ Errori dei Socket
+
+ L'estensione socket è stata scritta per fornire un'interfaccia utilizzabile ai
+ potenti socket BSD. È stata posta attenzione affinché le funzioni operino
+ allo stesso modo sulle implementazioni Win32 e Unix. Quasi tutte le funzioni
+ dei socket possono fallire in determinate condizioni e quindi emettere un
+ messaggio E_WARNING che descrive l'errore. A volte questo
+ non accade come desiderato dallo sviluppatore. Per esempio la funzione
+ socket_read può emettere improvvisamente un
+ messaggio E_WARNING perché la connessione si è interrotta
+ in modo imprevisto. È comune sopprimere l'avviso con
+ l'operatore @ e intercettare il codice di errore all'interno
+ dell'applicazione con la funzione socket_last_error. È
+ possibile richiamare la funzione socket_strerror con questo codice
+ di errore per ottenere una stringa che descrive l'errore. Per maggiori informazioni
+ si vedano le loro descrizioni.
+
+
+
+ I messaggi E_WARNING generati dall'estensione
+ socket sono in inglese, sebbene il messaggio di errore ottenuto appaia
+ a seconda del locale corrente (LC_MESSAGES):
+
+
+
+
+
+
+
+
diff --git a/reference/sockets/examples.xml b/reference/sockets/examples.xml
new file mode 100644
index 000000000..ddfe86e04
--- /dev/null
+++ b/reference/sockets/examples.xml
@@ -0,0 +1,164 @@
+
+
+
+
+ &reftitle.examples;
+
+
+ Esempio di socket: semplice server TCP/IP
+
+ Questo esempio mostra un semplice server "talkback". Modifica le
+ variabili address e port
+ per adattarle alla tua configurazione ed eseguilo. Puoi quindi
+ connetterti al server con un comando simile a: telnet 192.168.1.53
+ 10000 (dove indirizzo e porta corrispondono alla tua
+ configurazione). Tutto ciò che digiti verrà quindi mostrato in output
+ sul lato server e rinviato a te. Per disconnetterti, digita 'quit'.
+
+
+
+]]>
+
+
+
+
+
+ Esempio di socket: semplice client TCP/IP
+
+ Questo esempio mostra un semplice client HTTP monouso. Si limita a
+ connettersi a una pagina, inviare una richiesta HEAD, mostrare la
+ risposta e terminare.
+
+
+Connessione TCP/IP\n";
+
+/* Ottiene la porta per il servizio WWW. */
+$service_port = getservbyname('www', 'tcp');
+
+/* Ottiene l'indirizzo IP dell'host di destinazione. */
+$address = gethostbyname('www.example.com');
+
+/* Crea un socket TCP/IP. */
+$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+if ($socket === false) {
+ echo "socket_create() fallita: motivo: " . socket_strerror(socket_last_error()) . "\n";
+} else {
+ echo "OK.\n";
+}
+
+echo "Tentativo di connessione a '$address' sulla porta '$service_port'...";
+$result = socket_connect($socket, $address, $service_port);
+if ($result === false) {
+ echo "socket_connect() fallita.\nMotivo: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
+} else {
+ echo "OK.\n";
+}
+
+$in = "HEAD / HTTP/1.1\r\n";
+$in .= "Host: www.example.com\r\n";
+$in .= "Connection: Close\r\n\r\n";
+$out = '';
+
+echo "Invio della richiesta HTTP HEAD...";
+socket_write($socket, $in, strlen($in));
+echo "OK.\n";
+
+echo "Lettura della risposta:\n\n";
+while ($out = socket_read($socket, 2048)) {
+ echo $out;
+}
+
+echo "Chiusura del socket...";
+socket_close($socket);
+echo "OK.\n\n";
+?>
+]]>
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-addrinfo-bind.xml b/reference/sockets/functions/socket-addrinfo-bind.xml
new file mode 100644
index 000000000..2d416fb48
--- /dev/null
+++ b/reference/sockets/functions/socket-addrinfo-bind.xml
@@ -0,0 +1,99 @@
+
+
+
+
+ socket_addrinfo_bind
+ Crea un socket a partire da un dato addrinfo ed esegue il bind
+
+
+
+ &reftitle.description;
+
+ Socketfalsesocket_addrinfo_bind
+ AddressInfoaddress
+
+
+ Crea un'istanza di Socket ed esegue il bind all'AddressInfo fornito. Il valore
+ restituito da questa funzione può essere usato con socket_listen.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ address
+
+
+ Istanza di AddressInfo creata da socket_addrinfo_lookup.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un'istanza di Socket in caso di successo o &false; in caso di fallimento.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ In caso di successo, questa funzione restituisce ora un'istanza di Socket;
+ in precedenza veniva restituito un resource.
+
+
+ &sockets.changelog.address-param;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_addrinfo_connect
+ socket_addrinfo_explain
+ socket_addrinfo_lookup
+ socket_listen
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-addrinfo-connect.xml b/reference/sockets/functions/socket-addrinfo-connect.xml
new file mode 100644
index 000000000..0032fac14
--- /dev/null
+++ b/reference/sockets/functions/socket-addrinfo-connect.xml
@@ -0,0 +1,98 @@
+
+
+
+
+ socket_addrinfo_connect
+ Crea un socket a partire da un dato addrinfo e vi si connette
+
+
+
+ &reftitle.description;
+
+ Socketfalsesocket_addrinfo_connect
+ AddressInfoaddress
+
+
+ Crea un'istanza di Socket e la connette all'istanza di AddressInfo fornita. Il valore
+ restituito da questa funzione può essere usato con le altre funzioni socket.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ address
+
+
+ Istanza di AddressInfo creata da socket_addrinfo_lookup.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un'istanza di Socket in caso di successo o &false; in caso di fallimento.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ In caso di successo, questa funzione restituisce ora un'istanza di Socket;
+ in precedenza veniva restituito un resource.
+
+
+ &sockets.changelog.address-param;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_addrinfo_bind
+ socket_addrinfo_explain
+ socket_addrinfo_lookup
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-addrinfo-explain.xml b/reference/sockets/functions/socket-addrinfo-explain.xml
new file mode 100644
index 000000000..c74a357db
--- /dev/null
+++ b/reference/sockets/functions/socket-addrinfo-explain.xml
@@ -0,0 +1,91 @@
+
+
+
+
+ socket_addrinfo_explain
+ Ottiene informazioni su addrinfo
+
+
+
+ &reftitle.description;
+
+ arraysocket_addrinfo_explain
+ AddressInfoaddress
+
+
+ socket_addrinfo_explain espone la struttura
+ addrinfo sottostante.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ address
+
+
+ Istanza di AddressInfo creata da socket_addrinfo_lookup.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un array contenente i campi della struttura addrinfo.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+ &sockets.changelog.address-param;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_addrinfo_bind
+ socket_addrinfo_connect
+ socket_addrinfo_lookup
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-addrinfo-lookup.xml b/reference/sockets/functions/socket-addrinfo-lookup.xml
new file mode 100644
index 000000000..abe497b50
--- /dev/null
+++ b/reference/sockets/functions/socket-addrinfo-lookup.xml
@@ -0,0 +1,134 @@
+
+
+
+
+ socket_addrinfo_lookup
+ Ottiene un array con il contenuto di getaddrinfo per l'hostname indicato
+
+
+
+ &reftitle.description;
+
+ arrayfalsesocket_addrinfo_lookup
+ stringhost
+ stringnullservice&null;
+ arrayhints[]
+
+
+ Ricerca i diversi modi in cui è possibile connettersi a host. L'array restituito contiene
+ un insieme di istanze di AddressInfo a cui è possibile eseguire il bind tramite socket_addrinfo_bind.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ host
+
+
+ L'hostname da cercare.
+
+
+
+
+ service
+
+
+ Il servizio a cui connettersi. Se il servizio è una stringa numerica, indica la porta.
+ Altrimenti indica il nome di un servizio di rete, che viene mappato a una porta dal sistema operativo.
+
+
+
+
+ hints
+
+
+ Gli hint forniscono i criteri per la selezione degli indirizzi restituiti. È possibile specificare gli
+ hint definiti da getaddrinfo.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un array di istanze di AddressInfo utilizzabili con
+ la famiglia di funzioni socket_addrinfo_*.
+ In caso di fallimento, viene restituito &false;.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.5.0
+
+ Ora lancia un TypeError se un qualsiasi valore
+ dell'array hints non può essere convertito in int, e può
+ lanciare un ValueError se uno di questi
+ valori va in overflow.
+
+
+
+ 8.0.0
+
+ In caso di successo, questa funzione restituisce ora un array di istanze di AddressInfo;
+ in precedenza veniva restituito un array di resource.
+
+
+
+ 8.0.0
+
+ service ora può essere null.
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_addrinfo_bind
+ socket_addrinfo_connect
+ socket_addrinfo_explain
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-atmark.xml b/reference/sockets/functions/socket-atmark.xml
new file mode 100644
index 000000000..81810f4f7
--- /dev/null
+++ b/reference/sockets/functions/socket-atmark.xml
@@ -0,0 +1,129 @@
+
+
+
+
+ socket_atmark
+ Determina se un socket si trova in corrispondenza del contrassegno dei dati fuori banda
+
+
+
+ &reftitle.description;
+
+ boolsocket_atmark
+ Socketsocket
+
+
+ Determina se socket si trova in corrispondenza del contrassegno dei dati fuori banda.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ socket
+
+
+ Un'istanza di Socket creata con socket_create.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.examples;
+
+
+ Uso di socket_atmark per verificare se il socket è pronto a leggere dati fuori banda.
+
+ 0 );
+socket_close( $socketServer );
+socket_close( $socketClient );
+socket_close( $socket );
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_connect
+ socket_create
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-cmsg-space.xml b/reference/sockets/functions/socket-cmsg-space.xml
new file mode 100644
index 000000000..450e8723f
--- /dev/null
+++ b/reference/sockets/functions/socket-cmsg-space.xml
@@ -0,0 +1,81 @@
+
+
+
+
+ socket_cmsg_space
+ Calcola la dimensione del buffer del messaggio
+
+
+ &reftitle.description;
+
+ intnullsocket_cmsg_space
+ intlevel
+ inttype
+ intnum0
+
+
+ Calcola la dimensione del buffer che dovrebbe essere allocato per
+ ricevere i dati ausiliari.
+
+ &warn.undocumented.func;
+
+
+
+ &reftitle.parameters;
+
+
+
+ level
+
+
+
+
+
+
+ type
+
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_recvmsg
+ socket_sendmsg
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-export-stream.xml b/reference/sockets/functions/socket-export-stream.xml
new file mode 100644
index 000000000..ce73e55d5
--- /dev/null
+++ b/reference/sockets/functions/socket-export-stream.xml
@@ -0,0 +1,80 @@
+
+
+
+
+ socket_export_stream
+ Esporta un socket in uno stream che incapsula un socket
+
+
+
+ &reftitle.description;
+
+ resourcefalsesocket_export_stream
+ Socketsocket
+
+
+
+
+
+ &warn.undocumented.func;
+
+
+
+
+ &reftitle.parameters;
+
+
+ socket
+
+
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce una risorsa&return.falseforfailure;.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+ &sockets.changelog.socket-param;
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-import-stream.xml b/reference/sockets/functions/socket-import-stream.xml
new file mode 100644
index 000000000..80f34cf65
--- /dev/null
+++ b/reference/sockets/functions/socket-import-stream.xml
@@ -0,0 +1,112 @@
+
+
+
+
+ socket_import_stream
+ Importa uno stream
+
+
+
+ &reftitle.description;
+
+ Socketfalsesocket_import_stream
+ resourcestream
+
+
+ Importa uno stream che incapsula un socket in una risorsa dell'estensione socket.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ stream
+
+
+ La risorsa dello stream da importare.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce &false; in caso di fallimento.
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ In caso di successo, questa funzione restituisce ora un'istanza di Socket;
+ in precedenza veniva restituito un resource.
+
+
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Esempio di socket_import_stream
+
+
+]]>
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ stream_socket_server
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-set-block.xml b/reference/sockets/functions/socket-set-block.xml
new file mode 100644
index 000000000..a91a7ad13
--- /dev/null
+++ b/reference/sockets/functions/socket-set-block.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ socket_set_block
+ Imposta la modalità bloccante su un socket
+
+
+
+ &reftitle.description;
+
+ boolsocket_set_block
+ Socketsocket
+
+
+ La funzione socket_set_block rimuove il flag
+ O_NONBLOCK sul socket specificato dal parametro
+ socket.
+
+
+ Quando viene eseguita un'operazione (ad es. ricezione, invio, connessione,
+ accettazione, ...) su un socket bloccante, lo script metterà in pausa la
+ propria esecuzione finché non riceve un segnale o non è in grado di eseguire
+ l'operazione.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ socket
+
+
+ Un'istanza di Socket creata con socket_create
+ o socket_accept.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+ &sockets.changelog.socket-param;
+
+
+
+
+
+
+ &reftitle.examples;
+
+
+ Esempio di socket_set_block
+
+
+]]>
+
+
+ Questo esempio crea un socket in ascolto su tutte le interfacce sulla porta 1223
+ e imposta il socket in modalità O_BLOCK.
+ socket_accept rimarrà bloccata finché non ci sarà una
+ connessione da accettare.
+
+
+
+
+
+
+ &reftitle.seealso;
+
+
+ socket_set_nonblock
+ socket_set_option
+
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-wsaprotocol-info-export.xml b/reference/sockets/functions/socket-wsaprotocol-info-export.xml
new file mode 100644
index 000000000..8a4d57941
--- /dev/null
+++ b/reference/sockets/functions/socket-wsaprotocol-info-export.xml
@@ -0,0 +1,102 @@
+
+
+
+
+ socket_wsaprotocol_info_export
+ Esporta la struttura WSAPROTOCOL_INFO
+
+
+
+ &reftitle.description;
+
+ stringfalsesocket_wsaprotocol_info_export
+ Socketsocket
+ intprocess_id
+
+
+ Esporta la struttura WSAPROTOCOL_INFO nella memoria condivisa e restituisce
+ un identificatore da usare con socket_wsaprotocol_info_import. L'ID
+ esportato è valido solo per il process_id indicato.
+
+
+
+ Questa funzione è disponibile solo su Windows.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ socket
+
+
+ Un'istanza di Socket.
+
+
+
+
+ process_id
+
+
+ L'ID del processo che importerà il socket.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un identificatore da usare per l'importazione, &return.falseforfailure;
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+ &sockets.changelog.socket-param;
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ socket_wsaprotocol_info_import
+ socket_wsaprotocol_info_release
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-wsaprotocol-info-import.xml b/reference/sockets/functions/socket-wsaprotocol-info-import.xml
new file mode 100644
index 000000000..f9e3fc351
--- /dev/null
+++ b/reference/sockets/functions/socket-wsaprotocol-info-import.xml
@@ -0,0 +1,97 @@
+
+
+
+
+ socket_wsaprotocol_info_import
+ Importa un Socket da un altro processo
+
+
+
+ &reftitle.description;
+
+ Socketfalsesocket_wsaprotocol_info_import
+ stringinfo_id
+
+
+ Importa un socket precedentemente esportato da un altro processo.
+
+
+
+ Questa funzione è disponibile solo su Windows.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ info_id
+
+
+ L'ID che è stato restituito da una precedente chiamata a
+ socket_wsaprotocol_info_export.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ Restituisce un'istanza di Socket in caso di successo, &return.falseforfailure;
+
+
+
+
+ &reftitle.changelog;
+
+
+
+
+ &Version;
+ &Description;
+
+
+
+
+ 8.0.0
+
+ In caso di successo, questa funzione restituisce ora un'istanza di Socket;
+ in precedenza veniva restituito un resource.
+
+
+
+
+
+
+
+
+ &reftitle.seealso;
+
+ socket_wsaprotocol_info_export
+
+
+
+
+
diff --git a/reference/sockets/functions/socket-wsaprotocol-info-release.xml b/reference/sockets/functions/socket-wsaprotocol-info-release.xml
new file mode 100644
index 000000000..89e2427d0
--- /dev/null
+++ b/reference/sockets/functions/socket-wsaprotocol-info-release.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+ socket_wsaprotocol_info_release
+ Rilascia una struttura WSAPROTOCOL_INFO esportata
+
+
+
+ &reftitle.description;
+
+ boolsocket_wsaprotocol_info_release
+ stringinfo_id
+
+
+ Rilascia la memoria condivisa corrispondente all'info_id indicato.
+
+
+
+ Questa funzione è disponibile solo su Windows.
+
+
+
+
+
+ &reftitle.parameters;
+
+
+ info_id
+
+
+ L'ID che è stato restituito da una precedente chiamata a
+ socket_wsaprotocol_info_export.
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.success;
+
+
+
+
+ &reftitle.seealso;
+
+ socket_wsaprotocol_info_export
+
+
+
+
+
+
diff --git a/reference/sockets/reference.xml b/reference/sockets/reference.xml
new file mode 100644
index 000000000..5c7132762
--- /dev/null
+++ b/reference/sockets/reference.xml
@@ -0,0 +1,29 @@
+
+
+
+ &Functions; dei Socket
+
+ &reference.sockets.entities.functions;
+
+
+
+
diff --git a/reference/sockets/setup.xml b/reference/sockets/setup.xml
new file mode 100644
index 000000000..16c0e8bf9
--- /dev/null
+++ b/reference/sockets/setup.xml
@@ -0,0 +1,49 @@
+
+
+
+
+ &reftitle.setup;
+
+
+ &reference.sockets.configure;
+
+
+
+
+ &reftitle.resources;
+
+ Prima di PHP 8.0.0,
+ socket_accept, socket_import_stream,
+ socket_addrinfo_connect, socket_addrinfo_bind,
+ socket_create_listen, socket_wsaprotocol_info_import e
+ socket_create restituivano risorse Socket.
+
+
+ Prima di PHP 8.0.0,
+ socket_addrinfo_lookup restituiva un array di risorse AddressInfo.
+
+
+
+
+
+
+
diff --git a/reference/sockets/socket.xml b/reference/sockets/socket.xml
new file mode 100644
index 000000000..de2bb53a1
--- /dev/null
+++ b/reference/sockets/socket.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ La classe Socket
+ Socket
+
+
+
+
+
+ &reftitle.intro;
+
+ Una classe completamente opaca che, a partire da PHP 8.0.0, sostituisce le risorse Socket.
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+
+ final
+ Socket
+
+
+
+
+
+
+
+
+
+
+
+