PHP ile bir TCP istemcisi yazalim

'HTML-PHP-ASP-JAVA' forumunda Mavi_Sema tarafından 15 Mayıs 2009 tarihinde açılan konu

  1. Mavi_Sema

    Mavi_Sema Özel Üye

    PHP ile bir TCP istemcisi yazalim konusu
    Sponsorlu Bağlantılar
    Problem : Uzaktaki makineye soket acarak baglanmak istiyorsunuz.



    Cozum: TCP ile uzaktaki bir makineye baglanmak icin fsockopen () hazir fonksiyonu kullanilir.


    Not: Baska bir sunucuya izin almadan soket acarak baglanmak istemedigim icin php.org.tr'in egitim sunucusunu kullaniyorum.(turk-php.com virtual host uzerinde oldugu icin istedigim sonucu alamiyorum…)






    <?php


    $baglanti = fsockopen("www.php.org.tr", 80, $errno, $errstr, 30);


    if (!$baglanti) {
    die($errstr);
    }


    fputs($baglanti, "GET / /HTTP/1.0 \r\n\r\n");
    while (!feof($baglanti)) {
    $satir = fgets($baglanti, 2048);
    echo $satir;
    }
    fclose ($baglanti);
    ?>




    Bir diger cozum ise PHP'nin soket kutuphanesini kullanmaktir.(PHP icerisinden bu modulu kullanabilmek icin configure betigi --enable-sockets parametresi ile calistirilmalidir.)


    <?php
    $url = 'www.php.org.tr';


    $serv_port = getservbyname('www', 'tcp');
    $adres = gethostbyname($url);


    $sock = socket (AF_INET, SOCK_STREAM, 0);
    if ($sock < 0) {
    die(strerror($sock));
    }


    $res = connect($sock, $adres, $serv_port);
    if ($res < 0) {
    die(strerror($res));
    }


    $veri = "HEAD / HTTP/1.0 \r\n\r\n";


    write ($sock, $veri, strlen($veri));


    while (read($sock, $cevap, 2048)) {
    print $cevap;
    }


    close ($sock);
    ?>


    Her iki programda ayni islevi gormektedir.Ilk programda fsockopen () hazir fonksiyonu yardimiyla sokete baglanmak icin bir arayuz olustrulmustur.


    Ikinci programda, programciya daha fazla kontrol sunan soket modulu kullanilmistir.Bu kutuphane ile daha dusuk seviyeli C API'lerine direkt erisim saglanmaktadir.
     

Yükleniyor...
Benzer Konular - istemcisi yazalim Forum Tarih
Her Güne Bir Ayet-i Kerime Yazalım Kuran'ı Kerim ve Tefsirleri 13 Mart 2009
Yumurta ile ilgili tüm bilgileri buraya yazalım Genel Sağlık 4 Mart 2009

Bu Sayfayı Paylaş