Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan Soket dalam PHP

Pengaturcaraan Soket dalam PHP

王林
王林asal
2024-08-29 13:14:07991semak imbas

Semua bahasa pengaturcaraan menyediakan mekanisme untuk melaksanakan komunikasi pelayan dan klien. Mengikut mekanisme ini, aplikasi membolehkan pelayan dan pelanggan bertukar data antara mereka. Sama seperti bahasa pengaturcaraan lain, PHP juga menyediakan mekanisme ini kepada kami. Pengaturcaraan soket boleh ditakrifkan sebagai pendekatan pengaturcaraan yang mempunyai pelayan dan klien sebagai aplikasi di mana sambungan perlu diwujudkan antara kedua-duanya untuk memudahkan komunikasi antara mereka. Dari segi PHP, ia juga membolehkan kami melaksanakan konsep pengaturcaraan soket. Dalam artikel ini, kita akan belajar cara melaksanakan pengaturcaraan soket ini menggunakan bahasa pengaturcaraan PHP.

IKLAN Kursus Popular dalam kategori ini BAHASA PENGATURCARAAN - Pengkhususan | 54 Siri Kursus | 4 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Kaedah Kelas Soket

Kaedah kelas soket ialah fungsi khas yang membolehkan kami melaksanakan pengaturcaraan soket. Program yang perlu ditulis untuk membawa fungsi pengaturcaraan soket menggunakan fungsi soket yang telah ditetapkan. Fungsi ini terdiri daripada pernyataan yang melaksanakan peranan sebenar dalam pengaturcaraan soket. Di bawah ialah beberapa fungsi soket.

  • Socket_accept: Ini adalah salah satu fungsi soket yang biasa digunakan untuk menerima sambungan soket. Peranan utama fungsi ini adalah untuk membenarkan sambungan diterima apabila permintaan melanda.
  • Socket_addrinfo_bind: Fungsi ini digunakan untuk menambah maklumat yang diberikan pada soket. Maklumat yang diterima perlu diberikan kepada soket untuk memudahkan pelaksanaannya.
  • Socket_clear_error: Fungsi ini digunakan untuk mengosongkan ralat yang ada pada soket. Selain itu, fungsi ini juga memadamkan ralat pada kod terakhir.
  • Socket_close: Seperti namanya, fungsi ini digunakan untuk menutup sumber yang dimiliki oleh soket.
  • Socket_connect: Kaedah ini digunakan untuk membuat sambungan soket. Dalam pengaturcaraan soket, program bermula dengan penubuhan sambungan, yang boleh dilakukan menggunakan fungsi ini.
  • Socket_create: Kaedah ini berkaitan dengan penciptaan soket. Soket yang dibuat menggunakan kaedah ini berfungsi sebagai titik akhir sambungan.
  • Socket_create_listen: Fungsi ini digunakan untuk mendapatkan soket membuka port yang ditentukan yang menerima sambungan. Seperti namanya, ia membantu membuka soket untuk mendengar.
  • Socket_create_pair: Kaedah ini biasanya digunakan dalam aplikasi yang perlu membawa bahagian kompleks pengaturcaraan soket digunakan. Ia membantu dalam penciptaan soket yang tidak dapat dibezakan, dan soket tersebut disimpan dalam tatasusunan.
  • Socket_get_option: Kaedah ini digunakan untuk mendapatkan pilihan untuk soket. Soket terdiri daripada beberapa pilihan yang perlu digunakan mengikut aplikasi. Dengan menggunakan kaedah ini, kita boleh mendapatkan semua pilihan yang ada pada soket.
  • Socket_getsockname: Kaedah ini digunakan untuk menanyakan kawasan setempat soket yang dipilih, dan sebagai balasan, ia mungkin mendapat butiran yang berkaitan dengan hos/port atau laluan sistem fail Unix. Apa sahaja hasil yang diperolehi bergantung sepenuhnya pada jenisnya.

Contoh Pelanggan Soket

Bahagian ini akan melihat kod yang akan digunakan untuk melaksanakan pengaturcaraan soket sisi klien. Contoh yang dinyatakan di bawah akan mempunyai siaran dan butiran hos yang akan digunakan untuk membuat sambungan soket. Satu sambungan diwujudkan, ia bertukar-tukar beberapa mesej dan mengharapkan balasan daripada pelayan.

<?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);
?>

Dalam contoh di atas, nombor port ialah 1230 di mana program cuba menyambung. Alamat IP hos akan menjadi IP hos tempatan. Jika sesiapa bersedia untuk berinteraksi dengan pelayan jauh, mereka boleh menyebut alamat IP pelayan. Kemudian mesej akan dihantar ke pelayan yang akan ditunjukkan pada halaman respons. Penciptaan soket akan diproses selepas itu. Dalam program ini, terdapat mekanisme yang sesuai untuk menangani ralat dengan menggunakan kaedah mati. Jika apa-apa berlaku, dalam kes itu, kaedah die akan dibatalkan dan mesej yang diberikan dalam itu muncul.

Socket Server Example

The example detailed in this section will be having the PHP codes that will be leveraged to implement the socket programming at the server-side. The details of the IP and the port number used in the last example will remain the same in this example as well. This example’s main difference will make the core difference that separates it from the client-side socket programming language. Lets process to understand the PHP code for server-side socket programming.

<?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);
?>

In the above example, the program has been developed to work in the localhost. The IP address mentioned here belongs to the localhost, and the port number can run the TCP and UDP service on that. The initial step is always the creation of the socket, as it is something that will be used throughout the program. Later the socket has been bonded with the specified values, which will help in functioning. The methods used in this program have a predefined meaning that can be used for a specific purpose. Once everything goes well, the program will work accordingly and will close the socket connection eventually.

Conclusion – Socket Programming in PHP

The socket programming language is used to let the application work on the server and the client model. This approach of programming lets us establish the connection between the server and the client so that the exchange of the data could be facilitated. To make the socket programming easy and convenient, PHP has provided predefined methods where all the methods have some unique tasks assigned to them.

Atas ialah kandungan terperinci Pengaturcaraan Soket dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Nombor Armstrong dalam PHPArtikel seterusnya:Nombor Armstrong dalam PHP