我正在尝试使用PHP中的套接字在给定的IP和端口上建立一个简单的TCP/IP连接。用于TCP/IP连接的PHP套接字错误
我收到一条错误消息,指出“无法阻止套接字操作无法立即完成”。以下是我的代码:
<?php
$address = 'myhost.com';
$service_port = 1234;
$timeout = 1000;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($socket);
$error = NULL;
$attempts = 0;
while (!($connected = @socket_connect($socket, $address, $service_port)) && ($attempts < $timeout)) {
$error = socket_last_error();
if ($error != SOCKET_EINPROGRESS && $error != SOCKET_EALREADY) {
echo socket_strerror($error) . "\n";
socket_close($socket);
return NULL;
}
usleep(1000);
$attempts++;
}
?>
有什么想法吗?我知道目标主机IP或端口没有问题。
非常感谢你! – Jack