Minyatür PHP web sunucusu 127.0.0.1:80 başka bir şey bağlantılarını kabul etmiyor

2 Cevap php

Ben sadece. I http://127.0.0.1/ üzerinden bağlayabilirsiniz ancak bağlantı noktası 80 üzerinde kendisine gönderilen herhangi bir istek için bir mesaj döner bir minyatür 'web sunucusu' oluşturduk benim gerçek IP ile bağlanmak çalıştığınızda adres, hiçbir şey ile geliyor.

Code:

# config
$conn_ip = "127.0.0.1"; // probably localhost
$conn_port = 80; // port to host 'server' on
$conn_max  = 5; // max connections to accept
# end config

$output = 'blah';

# prepare php script
set_time_limit(0);
ob_implicit_flush(true);
# end

# setup the socket
$server = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_bind($server,$conn_ip,$conn_port);
socket_listen($server,$conn_max);
# end

print "listening on port 80...\n\n";

# loop
while (true) {
 if (($new_sock = socket_accept($server)) !== NULL) {
  print("got connection...\n");
  socket_write($new_sock,$output,strlen($output));
  socket_close($new_sock);
     }
}
# end

?>

Ben burada yanlış ne yapıyorum?

2 Cevap

Bu satırı değiştirin

$conn_ip = "127.0.0.1"; // probably localhost

karşı

$conn_ip = 0;


  • 127.0.0.1 means that your "webserver" will only listen for connections only on 127.0.0.1 (localhost)
  • 0 means that your "webserver" will listen on each and every IP of your computer

: Lütfen socket bind olarak değiştirin

socket_bind ($server, 0,$conn_port);

Bir $ conn_ip belirterek, yalnızca bu arabirim için bağlayıcıdır. Bu durumda, loopback için bağlayıcıdır. Size ilk yazmaya başladığınızda dünya senin hizmetine bağlanmak için izin vermek istemiyor olabilir, bu, test için varsayılan.