نمایش نتایج 1 تا 3 از 3

نام تاپیک: برنامه نویسی شبکه در PHP

  1. #1
    کاربر تازه وارد آواتار Pedram77
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    Tehran
    پست
    91

    Post برنامه نویسی شبکه در PHP

    سلام من یسری اطلاعات کم از برنامه نویسی شبکه دارم که براتون مینویسم. لطفا اگه اطلاعات بیشتری دارید بنویسید.
    یکی از امکانات مهم PHP که من تصادفی بهش برخوردم برنامه نویسی شبکه بود که یسری توابع کامل برای این کار پیدا کردم. به وسیله این توابع میشه به سرعت با Client ارتباط بر قرار کرد.
    یه برنامه ساده مینویسم که کداشو تحلیل میکنم :

    $host = "127.0.0.1";
    $port = 1377;
    set_time_limit(0);
    $socket = socket_create(AF_INET, SOCK_STREAM, 0);
    $result = socket_bind($socket, $host, $port);
    $result = socket_listen($socket, 3);
    $spawn = socket_accept($socket);
    $input = socket_read($spawn, 1024);
    $input = trim($input);
    $output = strlen($input) . "\n";
    socket_write($spawn, $output, strlen ($output));
    socket_close($spawn);
    socket_close($socket);
    این برنامه به وسیله یک پورت از کلاینت یه متن دریافت میکند و تعداد کاراکتر هایش را نمایش میدهد.

    و اما تحلیل برنامه :

    $host = "127.0.0.1";
    $port = 1377;
    اول آدرس سرور رو توی متغیر $host قرار میدیم و یک پورت برای ارتباط تعیین میکنیم (از 1 تا 65535).

    set_time_limit(0);
    ارتباط برنامه هیچگاه نباید قطع شود. با این تابع تا اتصال به کلاینت برنامه کار میکند.

    $socket = socket_create(AF_INET, SOCK_STREAM, 0);
    با این تابع این سوکت میسازیم که ستون اصلی برنامه ست. پارامتر اول برای سوکت یک پروتوکل (!) تعریف میکند. AF_INET مخفف AddressFamily_Internet میباشد. پارامتر بعدی نوع ارتباط را مشخص میکند اتصال گرا یا غیر اتصال گرا (TCP/UDP) که توضیحش خارج از بحثه. SOCK_STREAM سوکت را TCP تعریف میکند، برای نوع غیر اتصال گرا از ثابت SOCK_DGRAM استفاده میشود. پارامتر سوم به سوکت میگوید فقط از TCP استفاده کن.

    $result = socket_bind($socket, $host, $port);
    بعد از ساخت سوکت نوبت به Bind (ضمیمه) کردن آدرس و پورت است که با تابع بالا صورت میگیرد.

    $result = socket_listen($socket, 3);
    پس از ضمیمه کردن آدرس و پورت به سوکت، موقع گوش دادن به پورت برای دریافت درخواست ارسال توسط کلاینت است.

    $spawn = socket_accept($socket);
    بعد از ارسال درخواست توسط کلاینت با این تابع در خواست پذیرفته میشود.

    $input = socket_read($spawn, 1024);
    هر زمان کلاینت روی پورت اطلاعات را قرار دهد، تابع بالا آن آن اطلاعات را میخواند.

    $input = trim($input);
    $output = strlen($input) . "\n";
    کد بالا طول رشته دریافت شده را در متغیر output قرار میدهد.


    socket_write($spawn, $output, strlen ($output));

    تابع بالا طول رشته را به کلاینت نمایش میدهد (مقدار را روی پورت قرار میدهد).

    socket_close($spawn);
    socket_close($socket);
    کد بالا سوکت ها را میبندد.

    من منبع فارسی برای این مبحث پیدا نکردم لطفا اگه چیزی پیدا کردید یه خبر بدید.

  2. #2
    کاربر دائمی آواتار abolfazl-z
    تاریخ عضویت
    دی 1390
    محل زندگی
    فکر
    پست
    1,056

    نقل قول: برنامه نویسی شبکه در PHP

    منبع فارسی !

    بفرمایید

    https://barnamenevis.org/showthread.p...35#post1769535

  3. #3
    کاربر دائمی آواتار reza_alie
    تاریخ عضویت
    فروردین 1394
    محل زندگی
    <Tehran/>
    پست
    449

    نقل قول: برنامه نویسی شبکه در PHP


تاپیک های مشابه

  1. برنامه نویسی شبکه
    نوشته شده توسط binyaz2003 در بخش Foxpro
    پاسخ: 87
    آخرین پست: شنبه 27 شهریور 1389, 19:04 عصر
  2. کار با سوکت در JBuilder++یا Visual j++ 6(برنامه نویسی شبکه)
    نوشته شده توسط arshia_ در بخش برنامه‌نویسی جاوا
    پاسخ: 10
    آخرین پست: شنبه 07 شهریور 1383, 07:42 صبح
  3. لزومات برنامه نویسی شبکه اینترانت
    نوشته شده توسط Mahdi_S_T در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: شنبه 27 تیر 1383, 18:32 عصر
  4. برنامه نویسی شبکه و ویرایش همزمان
    نوشته شده توسط Mohammad S در بخش برنامه نویسی در Delphi
    پاسخ: 9
    آخرین پست: دوشنبه 04 خرداد 1383, 21:45 عصر
  5. برنامه نویسی شبکه
    نوشته شده توسط Developer Programmer در بخش برنامه نویسی مرتبط با شبکه و وب در VB6
    پاسخ: 3
    آخرین پست: جمعه 07 آذر 1382, 21:20 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •