Как подключить сокет в другой порт в PHP? - PullRequest
0 голосов
/ 02 июня 2011

Этот код работает нормально. Я успешно протестировал сокетное соединение в моей системе через порт: 80, но не смог подключиться к другому порту.

<?php
echo "<pre>";
error_reporting(E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = 8000;

/* Get the IP address for the target host. */
$address = gethostbyname('localhost');

/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "OK.\n";
}


echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";

?>

Выход:

Attempting to connect to '127.0.0.1' on port '8000'...socket_connect() failed.
Reason: () Connection refused
Closing socket...OK.

Мне нужно подключиться через порт, отличный от 80, так что, пожалуйста, любая идея? Спасибо

1 Ответ

0 голосов
/ 02 июня 2011

Вы не можете подключиться к универсальному порту, если там не открыт сокет сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...