Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP de server uygulaması

Konu, 'PHP' kısmında CrazyCat tarafından paylaşıldı.

  1. CrazyCat

    CrazyCat Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    653
    Beğenilen Mesajlar:
    0
    Meslek:
    lecturer
    Şehir:
    Adana
    PHP de soket programlama teknikleri kullanarak bir şeyler denemek istiyordum ama sanrım soket fonksiyonlarının bazıları win sistemde çalışmıyor :( o yüzden aklıma takılan bazı sorunlarımı çözemedim.

    soket bağlantısı kurarak herhangi bir makinedeki harhangi soket programına veri gönderip almayı denedim sonuçları umut verici olunca birserver uygulaması da yazabilirim diye heveslenmiştim ama windows beni yarı yolda bıraktı..

    şimdi aklıma takılan sorular şunlar:

    - bir web serverda herhangi bir soketi dinleyecek oho programı yazarsam yerel bir istremciden bir programla erişmeyi denediğimde. Serverdaki php programının dinlediği adrese bağlanmakla o programı çalıştırabilirmiyim?

    yoksa servera önce http portundan (80) ile http isteği gönderip php programını çaslıştırdıktan sonra dinlediği porta bağlanıp veri mi göndermem lazım.

    Örneğin web server standar 80 nolu porttan hizmet veriyor. oraya yüklediğim default (yada index) php dosyasını çalışrımak için serverin 80 nolu portunu bir yazılımla bağlanıp.

    "GET / HTTP/1.0\r\n\r\n" komutu gndererek php uygulamasını çalıştırıp

    (daha sonra o uyulamanın da örneğin 1001 nolu portu dinlediğini varsayarsak )

    aynı adresin 1001 nolu portuna veri gönderdiğimde çalışan php

    scripti gelen veriyi alabilirmi?
    alabilirse standart istemci adresi belirleme komutları ile ip mi alabilir mi?

    aynı anda başka bir istemci program istemde bulunursa o nun içinde aynı işlemleri yalıtılmış bir şekilde gerçekleştirebilir mi?

    - PHP ile yazılmış istemci programlarına baktığımda yeterli örnek bulamadım. genel olarak:

    PHP:
    getservbyname ('www''tcp');
    komutu ile serverin aktif tcp www portu öğreniliyor

    PHP:
    gethostbyname ('www.filanca.net')
    komutu ile serverin ip si alınıyor

    sonra socket(), connect() komutları ile bağlantı kurulup

    write komutu ile "HEAD / HTTP/1.0\r\n\r\n" bilgisi gönderilerek
    yanıtı read komutu ile okutuyorlar..

    benim istediğim yanıt almak değil sadece uygulamaya bilgi göndermek.

    birde yukardaki yöntemde aktif www portundan bağlantı sağlanıyor

    acaba dinlenen adres ile aktiw www tcp portu aynı mı olmalı
    (ama sanırım aynı olursa diğer istemcilerden gelen istemleri dinleyerek yanlış işlem yapabilir)

    aslında birkaç şey daha var ama öncelikle bunları çözmek istiyorum.

    ---
    Özetle aranızda böyle bir uygulama yapan yada linux bir sistemde deneyebilecek biri varsa lütfen yardım etsin

    yoksa merak bu kediyi gerçekten öldürecek :)

    iyi çalışmalar :)
     
  2. turker

    turker Agresif Üye

    Kayıt:
    19 Temmuz 2002
    Mesajlar:
    5,988
    Beğenilen Mesajlar:
    0
  3. mkarabulut

    mkarabulut Misafir

    Selamlar...

    PHP ile yazacağın Server programı web üzerinden çağrılma gerektirmeyecek şekilde çalışırsa daha iyi olur, hatta öyle olmalı bence...

    Bunun için bildiğim kadarıyla yazdığın scripti mesela deneme.php şeklinde kaydettikten sonra komut satırından

    Kod:
    php.exe -q deneme.php
    şeklinde portu dinleyen ve sürekli çalışan bir program haline dönüştürmen gerekiyor.

    Böylece her seferinde önce 80 inci porta bağlanmana gerek kalmıyor, ve port dinleyici programını istediğin gibi yazabilirsin.

    Bende çok tecrübeli değilim bu konuda ama şu makaleyi okuyabilirsin :

    http://www.devshed.com/Server_Side/PHP/SocketProgramming/page1.html

    Kolay gelsin