соединение TCP / IP на php?

ilya12345

Новичок
Есть удаленный сервер который использует необработанные соединения TCP / IP (не HTTP) для удаленного управления и статистики. Принимает и отдает JSON

У меня получилось подключиться к нему через Java, получаю необходимый Json ответ


Код:
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?
(или на JS)
P.S. За дельные советы могу финансово отблагодарить!
 

ilya12345

Новичок
пробую
Код:
$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]
 

ilya12345

Новичок
получилось так

Код:
$request = ''; // тут тело апроса
$timeout = 5;
$sock = fsockopen('IP', 'port', $error_number, $error_str, $timeout);
fwrite($sock, $request);
while(!feof($sock)) {
    echo fgets($sock, 1024);
}
fclose($sock);
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
@ilya12345, к сожалению, на данный момент операторы, которые могут отдебажить этот код, отсутствуют.
Ваше обращение очень важно для нас, оставайтесь на связи!
 
Сверху