وب آکادمی

مرجع آموزش طراحی و برنامه نویسی وب

برنامه نویسی سوکت با پی اچ پی – 6# آموزش کامل برنامه نویسی سوکت در PHP -ساخت برنامه کلاینت

دسته بندی:برنامه نویسی سوکت با php ، مقالات فناوری و آموزشی تاریخ انتشار: 10 مهر 1397 برچسب ها : برچسب‌ها:, ,

در بخش قبلی با برنامه نویسی برنامه سرور php برای سوکت ها آشنا شدید. در این بخش برنامه سمت کلاینت برای کار با سوکت ها در پی اچ پی را آموزش می دهیم.

ساخت برنامه کلاینت php

دو مرحله اول در سمت کلاینت، همانند سرور است.

مرحله 1: تنظیم متغیرهایی مانند “میزبان” و “پورت”

$host = "127.0.0.1";
$port = 5353;
// No Timeout
set_time_limit(0);

توجه: در اینجا پورت و میزبان باید همانند در سرور تعریف شود.

مرحله 2: ایجاد سوکت

$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");

مرحله 3: اتصال به سرور

$result = socket_connect($socket, $host, $port) or die("Could not connect toserver\n");
در اینجا بر خلاف سرور، سوکت مشتری با پورت و میزبان محدود نمی شود. در عوض آن را به سوکت سروری متصل می شود که منتظر پذیرفتن اتصال از سمت مشتری است. اتصال سوکت مشتری به سوکت سرور در این مرحله برقرار می شود.

مرحله 4: نوشتن در سوکت سرور

socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
در این مرحله اطلاعات سوکت مشتری به سوکت سرور ارسال می شود.

مرحله 5: خواندن پاسخ از سرور

$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;

مرحله 6: بستن سوکت

socket_close($socket);

کد کامل برنامه کلاینت (client.php)

$host = "127.0.0.1";
$port = 25003;
$message = "Hello Server";
echo "Message To server :".$message;
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// connect to server
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
// send string to server
socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
// get server response
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
// close socket
socket_close($socket);

پس از ایجاد فایل های فوق (server.php و client.php)، به صورت زیر عمل کنید:

  1. این فایل ها در دایرکتوری www (در صورت WAMP)، واقع در C: \ wamp. کپی کنید.
  2. مرورگر وب خود را باز کرده و localhost را در نوار آدرس تایپ کنید.
  3. در یک مرورگر server.php و سپس در مرورگر دوم client.php را اجرا کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هجده − سیزده =