SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.07.2009, 05:34:06
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 36
Beiträge: 17
socket server für http requests

hi ich will primär sowas wie einen minimalen http server in php schreiben um auf ajax requests zu antworten... ich hab dann erstmal testweise meine beiden php files angelegt einen als "server" und einen als "client"

server:
PHP-Code:
<pre><?php
$socket 
socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_bind($socket,'0.0.0.0',360037);
socket_listen($socket);

echo 
"Waiting for a connection\n";
flush();
$conn false;
switch(@
socket_select($r = array($socket), $w = array($socket), $e = array($socket), 60)) {
    case 
2:
        echo 
"Connection refused\n";
        
flush();
        break;
    case 
1:
        echo 
"Connection accepted\n";
        
flush();
        
$conn = @socket_accept($socket);
        break;
    case 
0
        echo 
"Connection timed out\n";
        
flush();
        break;
}
    
    
if (
$conn !== false) {
    
// communicate over $conn
    
echo socket_read($conn,4096);
    
flush();
}
socket_close($conn);
socket_close($socket);
?></pre>
client:
PHP-Code:
<?
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, '127.0.0.1', 360037);
socket_write($socket, 'hello world');
socket_close($socket);
?>


funktioniert alles wunderbar...
(ja das ich nur auf 127.0.0.1 "lauschen" müsste ist mir klar ich will aber auch im intranet verbindungen kriegen)

aber wenn ich mit meinem webbrowser einfach mal auf localhost:360037 gehe ... funzt garnix...
soweit ich weiß ist http über tcp implementiert also sollte das doch eine reguläre verbindung auf dem tcp socket sein???
hab mal wireshark angeschmissen das sagt mir soweit das gleiche...

ich weiß ja nicht ob das weiter unten im osi modell begründet ist aber ich wollt mal fragen ob mir jemand weiterhelfen kann wie kann ich eingehende http verbindungen abfangen?
(nanoweb.si.kz sollte beweisen das es praktisch möglich ist)
Mit Zitat antworten
  #2  
Alt 09.07.2009, 10:53:53
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: socket server für http requests

360037 ist zumindest für Ports (16-Bit) "etwas" viel.
Mit Zitat antworten
  #3  
Alt 09.07.2009, 16:07:36
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 36
Beiträge: 17
AW: socket server für http requests

XD

ich wusste nicht das ports 16 bit sind


mit 8080 gehts problemlos :)

danke

(wieso funktioniert das dann mit dem php script?)
Mit Zitat antworten
  #4  
Alt 09.07.2009, 17:24:40
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: socket server für http requests

Zitat:
Zitat von s1r10n Beitrag anzeigen
(wieso funktioniert das dann mit dem php script?)
Mit welchem Skript?
Mit Zitat antworten
  #5  
Alt 12.07.2009, 22:47:57
s1r10n s1r10n ist offline
Anfänger
 
Registriert seit: Jul 2009
Alter: 36
Beiträge: 17
AW: socket server für http requests

mit dem geposteten... der hat problemlos eine verbindung hergestellt ;)
Mit Zitat antworten
  #6  
Alt 13.07.2009, 11:45:52
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: socket server für http requests

Vielleicht nutzt der irgendein komisches Betriebssystem, das dies unterstützt.
Mit Zitat antworten
  #7  
Alt 13.07.2009, 16:11:25
R. Woitaschik R. Woitaschik ist offline
Anfänger
 
Registriert seit: Nov 2004
Ort: Düsseldorf
Beiträge: 99
AW: socket server für http requests

Hi,
vieleicht nimmt die Funktion socket_connect() und socket_bind() nur die untersten 16 bit der Portnummer als Wert.
Versuch doch mal localhost:32357 (32357 sind die untersten 16 bit der Zahl)

Geändert von R. Woitaschik (13.07.2009 um 16:13:00 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP auf Windows 2003 Server Subethe PHP Grundlagen 2 22.10.2007 11:59:38
MYSQL startet nicht richtig lars01 MySQLi/PDO/(MySQL) 0 03.10.2007 21:53:08
Kein PHP auf virtual Hosts ToB Apache HTTP-Server 2 14.08.2007 04:33:15
MySQL Page Script. Problem. dtone MySQLi/PDO/(MySQL) 8 15.10.2006 15:58:06
Download via Speicherbox von extermen Server -wie? SirRobin PHP für Fortgeschrittene und Experten 3 28.01.2006 15:30:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:56:20 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt