Description
int
fsockopen
( [string udp://hostname, int port [, int errno [, string errstr
[, float timeout]]]])
fsockopen(
)
crée
un
flot
de
connexion
à
l'Internet
(AF_INET
)
ou
à
un
domaine
Unix
(AF_UNIX
)
.
Via
Internet
,
cette
fonction
va
ouvrir
une
socket
de
connexion
TCP
avec
l
'
hôte
hostname
sur
le
port
port
.
Pour
les
connexions
UDP
,
vous
devez
explicitement
spécifier
le
protocole
:
udp
:
/
/hostname
.
Via
un
domaine
Unix
,
hostname
représente
le
chemin
jusqu
'
à
la
socket
,
et
port
doit
être
mis
à
0
.
L
'
option
timeout
sert
à
donner
une
durée
maximale
à
cet
appel
.
fsockopen(
)
retourne
un
pointeur
de
fichier
qui
peut
être
utilisé
avec
d'autres
fonctions
fichiers
,
telles
que
fgets(
)
,
fgetss(
)
,
fputs(
)
,
fclose(
)
et
feof(
)
.
Si
l'
appel
échoue
,
fsockopen(
)
retourne
FALSE
,
et
si
les
options
errno
et
errstr
ont
été
fournies
,
elles
contiennent
désormais
les
raisons
de
l
'échec
.
Si
l'
erreur
retournée
est
0
et
que
la
fonction
retourne
FALSE
,
c'est
une
indication
d
'erreur
.
C'
est
probablement
du
à
une
erreur
d
'initialisation
de
la
socket
.
Notez
que
errno
et
errstr
sont
passées
par
référence
.
Suivant
les
environnements
,
le
type
'
domaine
Unix
'
ou
l
'option
timeout
ne
sont
pas
toujours
disponibles
.
La
socket
sera
ouverte
par
défaut
en
mode
bloquant
.
Vous
pouvez
changer
de
mode
en
utilisant
:
socket_set_blocking(
)
.
Exemple
1
.
Exemple
avec
fsockopen(
)
?php
$fp
=
fsockopen(
"www.php.net"
,
80
,
$errno
,
$errstr
,
30)
;
if(!$fp
)
{
echo
"$errstr
($errno
)
br
\n"
;
}
else
{
fputs($fp
,"GET
/
HTTP
/
1.0\n\n")
;
while(!feof($fp)
)
{
echo
fgets($fp,128)
;
}
fclose($fp)
;
}
?
|
|
L'exemple ci-dessous décrit comment lire la date et l'heure grâce
à un service UDP "daytime" (port 13), sur votre propre machine.
Exemple
2
.
Utilisation
d
'
une
connexion
UDP
?php
$fp
=
fsockopen(
"udp
:
/
/127.0.0.1"
,
13
,
$errno
,
$errstr)
;
if
(!$fp
)
{
echo
"ERREUR
:
$errno
-
$errstr
br
\n"
;
}
else
{
fwrite($fp
,"\n")
;
echo
fread($fp
,
26)
;
fclose($fp)
;
}
?
|
|
Le
paramètre
timeout
a
été
introduit
en
PHP
3.0.9
et
le
support
UDP
en
PHP
4
.
Voir aussi
pfsockopen()
,
socket_set_blocking()
,
socket_set_timeout()
,
fgets()
,
fgetss()
,
fputs()
,
fclose()
et
feof()
.