Sockets программалоо тилинде (PL) PHP сервер менен маалымат алмашуу үчүн колдонулат. Айрым тиркемелер маалыматтарды берүү жана жазуу кызматынын параметрлери үчүн розеткаларды колдонууну талап кылат. Серверге туташуу режимин иштетүү үчүн, fsockopen () функциясын колдонуңуз, ал жерде керектүү туташуу параметрлери коюлган.
Нускамалар
1 кадам
Fsockopen () функциясы төмөнкү синтаксиске ээ:
fsockopen (хост аты, порт);
Бул учурда, хосттун аталышы - розеткаларды колдонуп, маалыматтарды берүү үчүн канал ачкан сервердин аты. Порт мааниси - бул серверге кирүү үчүн колдонулган порт менен дал келген сан.
2-кадам
Бул кодду PHP файлыңызга жазуу үчүн тексттик редактордун жардамы менен сокет маалыматтарын алмашуу ишин баштаңыз. Мисалы, 120-порттогу белгилүү бир server.com сайтына туташуу үчүн төмөнкү буйруктарды киргизиңиз:
<? php
$ serv = “server.com”;
$ serv_port = 120;
$ open_con = fsockopen ($ serv, $ serv_port);
Эгерде (! $ Open_con) {
Чыгуу (); } else {Echo "байланыш түзүлдү";
$ temporal = fgets ($ open_con, 1024); }
?>
3-кадам
Бул код өзгөрмөлөргө сервердин аты ($ serv) жана порт номери ($ serv_port) менен ылайыктуу маани берет. Эгерде сервер менен байланыш жок болсо, скрипт exit () буйругу аркылуу ишин токтотот. Эгерде байланыш ийгиликтүү болсо, анда программа байланышты түзүү жөнүндө билдирүүнү көрсөтөт жана анын параметрлерин $ убактылуу өзгөрмөгө сактайт.
4-кадам
Fsockopen () колдонгондон кийин, файлдарды иштетүү жана маалыматтарды алуу функцияларын колдонсоңуз болот. Ошентип, жогоруда айтылган fgets () дан тышкары, файлды жазуу үчүн fwrite (), fclose () жабуу же feof () менен файлдын аягына жеткендигин текшере аласыз. Ушундай жол менен сиз туташкан сервер аркылуу берилген айрым маалыматтарды жаздырып алсаңыз болот. Мисалы:
$ data_con = “GET / HTTP / 1.1 / r / n”;
$ data_con. = “Туташуу: Жабуу / r / n / r / n”;
fwrite ($ open_con, $ data_con);
$ fclose ($ open_con);
5-кадам
Бул суроо сервер тарабынан жиберилген GET баштарын окуп, андан $ data_con өзгөрмөсүндө жазылган тиешелүү параметрлер менен андан ажыратылган маалыматтарды жазат. Файлга жазуунун аягы fclose () функциясы аркылуу уюштурулган.
6-кадам
Розетканы ачуу жана туташуу маалыматтарын жазуу аяктады. Файлды сактап, хостингке же жергиликтүү серверге тестирлөө үчүн жүктөп бериңиз.