Как выглядит сообщение о соединении для mqtt через TCP?

В настоящее время я работаю над сайтом, который должен быть клиентом, который может подключаться к брокеру MQTT. Брокер, которым я сейчас пользуюсь, — это комар. Он работает на моем локальном компьютере. Соединение также установлено, но для реальной работы с брокером мне понадобится сообщение о соединении. Но как это выглядит?

Это код, который у меня сейчас есть, надеюсь, вы, ребята, сможете мне помочь с этим.

<?php
$address = '127.0.0.1';
$port = 1883;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
}else {
echo "OK.\n";
}

echo "Versuche, zu '$address' auf Port '$port' zu verbinden ...";
$result = socket_connect($socket, $address, $port);
if ($result === false) {
echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
}else {
echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "clientId: clientid_12325334634\r\n";
$in .= "cleanSession: \r\n\r\n";

echo "HTTP HEAD request senden ...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

Я работаю на компьютере с Windows и использую XAMPP.

-2

Решение

MQTT — это НЕ HTTP, то, что вы написали, даже близко не соответствует действительности, вы изучали протокол перед началом?

Если вы действительно хотите написать необработанный MQTT-клиент, тогда я предлагаю вам прочитать спецификацию -> http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html

В противном случае вам просто нужно использовать одну из существующих клиентских библиотек PHP -> https://github.com/mqtt/mqtt.github.io/wiki/libraries#php

0

Другие решения

Других решений пока нет …