Ginagamit ang mga socket sa programming language (PL) PHP upang makipagpalitan ng impormasyon sa isang server. Ang ilang mga application ay nangangailangan ng paggamit ng mga sockets para sa paglilipat ng data at pagsusulat ng mga parameter ng serbisyo. Upang paganahin ang mode ng pagkonekta sa server, gamitin ang fsockopen () na function, kung saan nakatakda ang mga kinakailangang parameter ng koneksyon.
Panuto
Hakbang 1
Ang pagpapaandar ng fsockopen () ay may sumusunod na syntax:
fsockopen (hostname, port);
Sa kasong ito, ang hostname ay ang pangalan ng server na na-access gamit ang mga socket at pagbubukas ng isang channel para sa paghahatid ng data. Ang halaga ng port ay isang numero na tumutugma sa ginamit na port upang ma-access ang server.
Hakbang 2
Gumamit ng isang text editor upang isulat ang code na ito sa iyong PHP file upang simulan ang pagpapatakbo ng socket data exchange. Halimbawa, upang kumonekta sa isang tukoy na server.com sa port 120, ipasok ang mga sumusunod na utos:
<? php
$ serv = "server.com";
$ serv_port = 120;
$ open_con = fsockopen ($ serv, $ serv_port);
Kung (! $ Open_con) {
Lumabas (); } iba pa {Echo "koneksyon nilikha";
$ temporal = fgets ($ open_con, 1024); }
?>
Hakbang 3
Itinatalaga ng code na ito ang mga variable na kaukulang halaga sa pangalan ng server ($ serv) at numero ng port ($ serv_port). Kung walang koneksyon sa server, tinatapos ng script ang gawain nito sa pamamagitan ng exit () na utos. Kung matagumpay ang koneksyon, nagpapakita ang programa ng isang abiso tungkol sa paglikha ng koneksyon at nai-save ang mga parameter nito sa $ temporal variable.
Hakbang 4
Matapos gamitin ang fsockopen (), maaari mong gamitin ang mga pagpapaandar upang manipulahin ang mga file at makuha ang data. Kaya, bilang karagdagan sa mga nabanggit na fgets (), maaari mong gamitin ang fwrite () upang magsulat ng isang file, fclose () upang isara, o feof () upang suriin na naabot ang pagtatapos ng file. Sa ganitong paraan maaari kang makapag-record ng ilang data na ipinadala ng server na iyong nakakonekta. Halimbawa:
$ data_con = "GET / HTTP / 1.1 / r / n";
$ data_con. = "Koneksyon: Isara / r / n / r / n";
fwrite ($ open_con, $ data_con);
$ fclose ($ open_con);
Hakbang 5
Binabasa ng kahilingang ito ang mga GET header na ipinadala ng server, at pagkatapos ay isinusulat ang idiskonekta na data mula rito kasama ang mga kaukulang parameter na nakasulat sa variable na $ data_con. Ang pagtatapos ng pagsusulat sa isang file ay isinaayos gamit ang fclose () function.
Hakbang 6
Ang pagbubukas ng isang socket at pagsulat ng data ng koneksyon ay kumpleto na. I-save ang file at i-upload ito para sa pagsubok sa iyong hosting o lokal na server.