我创建了一个微型“网络服务器”,只需将一条消息返回到端口80上发送给它的任何请求。我可以通过http://127.0.0.1/连接到它但是当我尝试用我的实际连接到它时IP地址,没有任何结果。
代码:
# 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
?>
我在这里做错了什么?
答案 0 :(得分:2)
更改此行
$conn_ip = "127.0.0.1"; // probably localhost
到
$conn_ip = 0;
答案 1 :(得分:0)
将socket bind更改为:
socket_bind ($server, 0,$conn_port);
通过指定$ conn_ip,您只能绑定到该接口。在这种情况下,您绑定到环回。这是测试的默认设置,因为您可能不希望世界在您第一次开始编写时连接到您的服务。