Увод у Соцкет програмирање у ПХП-у
Сви програмски језици пружају механизам за имплементацију комуникације између сервера и клијента. Према овом механизму, апликација омогућава серверу и клијенту да размењују податке између њих. Слично другим програмским језицима, ПХП нам такође пружа овај механизам. Соцкет програмирање може се дефинисати као приступ програмирању који има сервер и клијент као апликацију где се мора успоставити веза између њих двојице како би се олакшала комуникација између њих. Што се тиче ПХП-а, омогућава нам и имплементацију концепта соцкет програмирања. У овом чланку ћемо научити како да применимо то соцкет програмирање користећи ПХП програмски језик.
Методе класе утичница
Методе класе соцкет-а су посебне функције које нам омогућавају да имплементирамо програмирање соцкет-а. Програм који мора бити написан да би се унеле функционалности соцкет програма користи унапред дефинисане функције соцкет-а. Ове функције се састоје од изјава које обављају стварну улогу у програмирању соцкет-а. Испод су неке од функција утичнице.
- Соцкет_аццепт: Ово је једна од веома уобичајених функција соцкет-а која се користи за прихватање везе на утичницу. Примарна улога ове функције је да веза буде прихваћена кад год дође захтев.
- Соцкет_аддринфо_бинд: Ова функција се користи за додавање понуђених информација у утичницу. Прихваћене информације морају се додијелити утичници како би се олакшала њихова имплементација.
- Соцкет_цлеар_еррор: Ова функција се користи за уклањање грешке која се налази на утичници. Поред тога, ова функција такође уклања грешку на последњем коду.
- Соцкет_цлосе: Као што име наводи, ова функција се користи за затварање ресурса који припада соцкету.
- Соцкет_цоннецт: Ова метода се користи за стварање соцкет везе. У програмирању соцкет-а програм започиње успостављањем везе која се може обавити помоћу ове функције.
- Соцкет_цреате: Ова метода се односи на стварање сокета. Соцкет створен овом методом ради као крајња тачка везе.
- Соцкет_цреате_листен: Ова функција се користи за отварање утичнице одређеног порта који прихвата везу. Као што име каже, помаже у отварању утичнице за слушање.
- Соцкет_цреате_паир: Ова метода се обично користи у апликацији која треба да употреби сложени део соцкет програма. Помаже у креирању неразлучивих утичница и оних се чувају у низу.
- Соцкет_гет_оптион: Ова метода се користи за добијање опција за утичницу. Утичница се састоји од неколико опција које се морају користити у складу са апликацијом. Употребом ове методе можемо добити све оне могућности које утичница има.
- Соцкет_гетсоцкнаме: Ова метода се користи за испитивање локалне регије одабраног соцкет-а, а заузврат, може добити детаље везане за хост / порт или стазу за датотечни систем Уник. Који год исход да добије, потпуно зависи од врсте.
Примјер соцкет клијента
У овом одељку ћемо видети код који ће се користити за имплементацију програмирања утичница на страни клијента. Примјер наведен у наставку садржи податке о посту и хосту који ће се користити за стварање везе утичнице. Једном када је веза успостављена, она размењује неке поруке и очекује одговор од сервера.
<_?php$port_number = 1230;
$IPadress_host = "127.0.0.1";
$hello_msg= "This is server";
echo "Hitting the server :".$hello_msg;
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create connection with socket\n");
$server_connect = socket_connect($socket_creation, $IPadress_host, $port_number) or die("Unable to create connection with server\n");
socket_write($socket_creation, $hello_msg, strlen($hello_msg)) or die("Unable to send data to the server\n");
$server_connect = socket_read ($socket_creation, 1024) or die("Unable to read response from the server\n");
echo "Message from the server :".$server_connect;
socket_close($socket_creation);
?>
У горњем примеру, број порта је 1230 у који се програм покушава повезати. ИП адреса домаћина биће ИП локалног домаћина. Ако је неко спреман да комуницира са удаљеним сервером, може поменути ИП адресу сервера. Тада ће порука бити послата серверу која ће бити приказана на страници одговора. Стварање утичнице ће се након тога обрадити. У овом програму постоји одговарајући механизам за обраду грешке коришћењем методе дие. Ако нешто пође по злу у том случају, метода дие се укида и порука дата у том се појављује.
Пример соцкет сервера
Примјер детаљан у овом одјељку имаће ПХП кодове који ће се користити за имплементацију соцкет програма на страни сервера. Детаљи ИП-а и броја порта који се користе у последњем примеру остат ће исти у овом примеру. Главна разлика у овом примеру ће бити основна разлика која га раздваја од програмског језика утичнице на страни клијента. Омогућује процес разумевања ПХП кода за програмирање утичнице на страни сервера.
<_?php$port_number = 1230;
$IPadress_host = "127.0.0.1";
set_time_limit(0);
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create socket\n");$socket_outcome = socket_bind($socket_creation, $IPadress_host, $port_number ) or die("Unable to bind to socket\n");
$socket_outcome = socket_listen($socket_creation, 3) or die("Unable to set up socket listener\n");
$socketAccept = socket_accept($socket_creation) or die("Unable to accept incoming connection\n");
$data = socket_read($socketAccept, 1024) or die("Unable to read input\n");
$data = trim($data);
echo "Client Message : ".$data;
$outcome = strrev($data) . "\n";
socket_write($socketAccept, $outcome, strlen ($outcome)) or die("Unable to write output\n");
socket_close($socketAccept);
socket_close($socket_creation);
?>
У горњем примеру, програм је развијен за рад у лоцалхосту. ИП адреса споменута овде припада лоцалхосту и број порта може на њему да покреће ТЦП и УДП услугу. Почетни корак је увек стварање сокета јер ће се то користити у целом програму. Касније је утичница спојена са наведеним вредностима које ће помоћи у функционисању. Методе коришћене у овом програму имају унапред дефинисано значење које се може користити у одређене сврхе. Кад све пође добро, програм ће радити у складу с тим и на крају ће затворити утичницу.
Закључак - Програмирање утичница у ПХП-у
Програмски језик соцкета се користи да би апликација могла радити на серверу и моделу клијента. Овакав приступ програмирању омогућава нам успостављање везе између сервера и клијента како би размена података била олакшана. Да би програмирање соцкет-а било лако и практично, ПХП је обезбедио унапред дефинисане методе где се свим методама додељују јединствени задаци.
Препоручени чланци
Ово је водич за Соцкет Программинг у ПХП-у. Овде смо расправљали о методама које нам омогућавају имплементацију соцкет програма и како он омогућава серверу и клијенту да размењују податке између њих. Такође можете погледати и наше друге сродне чланке да бисте сазнали више -
- Увод у енкапсулацију у ПХП-у
- Конструктор у ПХП-у | Врсте конструктора
- Шта је превладавање у ПХП-у?
- ПХП магичне константе
- ПХП рекурзивна функција
- Примери функција ПХП стринга
- Водич за програмирање соцкет-а на Јави