2009-02-18 8 views
13

Der Hosting-Service, den ich derzeit verwende, lässt mich keine Sockets benutzen, wahrscheinlich aus gutem Grund. Sie lassen mich jedoch fsockopen verwenden. Ich frage mich, was der Unterschied ist, denn einige Skripte, die mit socket_create und sogar stream_socket_server arbeiteten, funktionieren nicht mit fsockopen. Das heißt, wenn fsockopen funktionieren sollte, ist mein Code unten aufgeführt. Was es tut ist, dass es auf seine eigene IP-Adresse für eingehende UDP-Pakete hört und sie liest.socket_create vs. fsockopen php

Dank

$sock = fsockopen("udp://x.x.x.x", $port); 
while(1) 
{ 
    $buf = fread($sock, 200); 
    flush(); 
    ob_flush(); 
} 

Antwort

11

fsockopen schafft eine Verbindung zu einem Host, kein Abhörsocket.

fsockopen ($ Adresse) ~ == socket_connect (socket_create(), $ Adresse)

Ihr Hosting-Anbieter wollen nicht, dass Sie auf alternative Ports/Protokolle hören.

Wenn was Sie arbeiten, würde ich nicht darauf zählen, dass es immer funktioniert, als wäre es ein Fehler.

+0

danke "fsockopen == socket_connect (socket_create(), $ address)" war genau das, was ich suchte. sieht so aus, als müsste ich einen neuen host finden: P – Samuel

+0

wo bekomme ich nähere informationen für sie antworten. Gibt es kein Programm, das auf Port 80 hört? ist nicht ein Programm, das auf eine Abhörbuchse hört? –

+0

@JayapalCandran was Samuel wollte, war das Programm schreiben, das auf Port 80 hört, nicht mit ihm verbinden. Er wollte Verbindungen akzeptieren (eine Vereinfachung, da UDP staatenlos ist). Dies könnte ein guter Anfang sein, wenn Sie mehr erfahren möchten: http://en.wikipedia.org/wiki/Network_socket –