我在一台计算机上编写了一个简单的套接字服务器:
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if(!socket_bind($socket, 'localhost', 52222)){
exit(socket_strerror(socket_last_error($socket)));
}
if(!socket_listen($socket)){
exit(socket_strerror(socket_last_error($socket)));
}
$conn = socket_accept($socket);
if(!$conn){
exit(socket_strerror(socket_last_error($socket)));
}
socket_write($conn, "250 HAHA\r\n");
它监听52222,我使用netstat -tnlp
可以找到它成功监听52222。
在另一台计算机上,我编写了一个简单的客户端,
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if(socket_connect($socket, 'http://192.168.161.133', 52222)){
exit(socket_strerror($socket_last_error($socket)));
}
但是当我运行它时,发生了错误
PHP Warning: socket_connect(): Host lookup failed [-10001]: Unknown host in /usr/local/nginx/html/test1.php on line 3
我在两台计算机上都有防火墙。