Мое требование - разместить скрипт сервера php-сокета в AWS EC2. и обмениваться данными с этим сервером сокетов. Это то, что я сделал до сих пор, но не работает.Принимать серверную программу PHP Socket в AWS
server.php
скрипт, который работает сервер сокет и слушает клиентов:
<?php
// set some variables
$host = "127.0.0.1";
$port = 53;
// don't timeout!
set_time_limit(0);
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// bind socket to port
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
// start listening for connections
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
// accept incoming connections
// spawn another socket to handle communication
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
// read client input
$input = socket_read($spawn, 1024) or die("Could not read input\n");
// clean up input string
$input = trim($input);
echo "Client Message : ".$input;
// reverse client input and send back
$output = strrev($input) . "\n";
socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");
// close sockets
socket_close($spawn);
socket_close($socket);
В группе безопасности AWS, я добавил следующие въездного правила:
- Я запускаю сервер, php-скрипт из SSH, используя команду «php server.php» ,
- Я пытался подключиться к серверу с SocketTest инструмента, где я вошел следующие значения
хозяин: 52.xx.xx.xxx (маскируется фактическое значение здесь) и порта: 53
Я не могу подключиться к серверу сокетов. Было бы очень полезно, если кто-то может вести меня, если я что-нибудь здесь отсутствует
Пожалуйста, обратите внимание, что программа же server.php работает нормально при тестировании локального сервера XAMPP
Установлена ли связь? Сохраняется ли проблема, если вы принимаете все входящие протоколы на всех портах вашей группы безопасности? – Defozo
Соединение время ожидания. Можете ли вы помочь мне принять все входящие протоколы на всех портах в группе безопасности? – Surya
Группы безопасности -> Выберите группу безопасности -> нажмите «Изменить» -> «Тип»: весь трафик -> протокол: все -> диапазон портов: 0-65535 -> источник: Anywhere и 0.0.0.0/0. Конечно, имейте в виду, что это только для отладки. Вы не должны были устанавливать это на производстве. – Defozo