stream_socket_clientBir Genel Ağ veya Unix alan soketi bağlantısı açar
&reftitle.description;
resourcefalsestream_socket_clientstringadresinthatanum&null;stringileti&null;floatnullsüre&null;intseçeneklerSTREAM_CLIENT_CONNECTresourcenullbağlam&null;adres ile belirtilen hedefe bir akım veya
verikatarı bağlantısı açar. Oluşturulacak soketin türü standart URL
biçemi kullanılarak belirtilir: şema://hedef.
TCP ve UDP gibi Genel Ağ Alanı soketleri (AF_INET)
için, adres'in hedef
parçası bir konak ismi veya IP adresinden sonra gelen bir ikinokta imi
ve bir port numarasından oluşur. Unix alan soketleri için
target parçası ise dosya sistemi üstündeki bir soket
dosyasını göstermelidir.
Akım öntanımlı olarak engellenebilen türde açılır.
stream_set_blocking işlevini kullanarak engellenmeyen
kipe geçebilirsiniz.
&reftitle.parameters;
adres
Bağlanılacak soketin adresi.
hatanum
Bağlantı başarısız olursa sistem seviyesindeki hatanın numarası bu
bağımsız değişkene atanır.
ileti
Bağlantı başarısız olursa sistem seviyesindeki hatanın açıklaması bu
bağımsız değişkene atanır.
süreconnect() sistem çağrısının zaman aşımına uğrayacağı
saniye sayısı. Öntanımlı olarak, default_socket_timeout
kullanılır.
Bu bağımsız değişken sadece eşzamansız bağlantı yapılmaya çalışılmıyorsa
uygulanır.
Soket üzerinde veri okumak veya yazmak için zaman aşımı, sokete
bağlantı yapılırken uygulanacak şekilde sadece
stream_set_timeout tarafından belirlenir.
seçenekler
Bağlantı seçeneklerinin birleşimi olarak bir bit maskesi. Geçerli
bağlantı seçenekleri: STREAM_CLIENT_CONNECT
(öntanımlı), STREAM_CLIENT_ASYNC_CONNECT ve
STREAM_CLIENT_PERSISTENT.
bağlamstream_context_create ile oluşturulmuş geçerli bir
bağlam özkaynağı.
&reftitle.returnvalues;
Başarısızlık durumunda &false;, aksi takdirde
fgets, fgetss,
fwrite, fclose ve
feof gibi diğer dosya işlevleri ile kullanılmak üzere
bir akım özkaynağı döner.
&reftitle.errors;
Başarısızlık durumunda hatanum ve
ileti bağımsız değişkenlerine, sistem-seviyesi
connect() çağrısında oluşan sistem seviyesindeki
hatanın bilgisi atanır. hatanum'da
döndürülen değer 0 ise ve işlev &false; döndürüyorsa,
hata connect() çağrısından önce oluşmuş demektir.
Bu sorunla çoğunlukla soketin ilklendirilmesi sırasında karşılaşılır.
hatanum ve ileti
bağımsız değişkenlerinin daima gönderimli aktarılmasına dikkat edilmelidir.
&reftitle.changelog;
&Version;&Description;8.0.0süre ve bağlam artık
&null; olabiliyor.
&reftitle.examples;
- stream_socket_client örneği
\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
while (!feof($fp)) {
echo fgets($fp, 1024);
}
fclose($fp);
}
?>
]]>
- UDP bağlantı kullanımı
localhost üzerindeki "daytime" (port 13) UDP hizmetinden tarih ve saati
öğrenmek.
\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>
]]>
&reftitle.notes;
UDP soketler bazen, uzak konağa erişilemediği halde hata vermeksizin
açılmış gibi görünür. Hata sadece bağlantıya veri okuyup yazmaya
çalıştığında ortaya çıkar. Bunun sebebi UDP'nin bir bağlantısız protokol
olmasıdır. Bağlantısız protokollerde işletim sistemi, asıl veri
alınıncaya veya gönderilinceye kadar sokete bir bağlantı oluşturmaya
çalışmaz.
&ipv6.brackets;
Platforma bağlı olarak, Unix alan soketleri mevcut olmayabilir.
Kullanılabilecek aktarım çeşitlerinin listesi
stream_get_transports işlevi ile alınabilir.
Yerleşik aktarım türlerinin tam listesini
sayfasında bulabilirsiniz.
&reftitle.seealso;
stream_socket_serverstream_set_blockingstream_set_timeoutstream_selectfgetsfgetssfwritefclosefeof