Есть удаленный сервер который использует необработанные соединения TCP / IP (не HTTP) для удаленного управления и статистики. Принимает и отдает JSON У меня получилось подключиться к нему через Java, получаю необходимый Json ответ Код (Text): import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class Main { public static void main(String args[]) throws Exception { int c; // Создать сокетное соединение Socket s = new Socket( 'IP', 'Port'); // получить потоки ввода-вывода InputStream in = s.getInputStream(); OutputStream out = s.getOutputStream(); // сформировать строку запроса String str = (args.length == 0 ? "JSON"; // преобразовать строку в байты byte buf[] = str.getBytes(); // послать запрос out.write(buf); // прочитать ответ и вывести его на экран while((c = in.read()) != -1) { System.out.print((char) c); } s.close(); } } Как тоже самое можно сделать на Php? P.S. За дельные советы могу финансово отблагодарить!
я читал месяца полтора назад про это)) думаю это поможет https://php.ru/manual/function.socket-create.html а потом соединяемся https://php.ru/manual/function.socket-connect.html на сайте по ссылке справа если что все функции работы с сокетами..
Спасибо, пробовал Код (Text): $address = IP ; $port = Port; if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) { echo "socket_create() falló: razón: " . socket_strerror(socket_last_error()) . "\n"; } if (socket_bind($sock, $address, $port) === false) { echo "socket_bind() falló: razón: " . socket_strerror(socket_last_error($sock)) . "\n"; } выдает Warning: socket_bind(): unable to bind address [10049]
получилось так Код (Text): $request = ''; // тут тело апроса $timeout = 5; $sock = fsockopen('IP', 'port', $error_number, $error_str, $timeout); fwrite($sock, $request); while(!feof($sock)) { echo fgets($sock, 1024); } fclose($sock);