Добрый день. Понимаю, что подобный вопрос не первый задаю, но не работает.
На планшете работает сервис на порте 7778. Ему надо послать POST запрос - JSON.
QT 5.6
Даже ответа получать не надо, на планшете будет видно, что пришел запрос.
QNetworkAccessManager *accessManager = new QNetworkAccessManager();
accessManager->setProxy(QNetworkProxy::NoProxy);
QNetworkRequest request;
QString URL = "http://" + IP + ":7778";
qDebug() << "URL " << URL;
QUrl Url;
Url.setUrl(IP);
Url.setPort(7778);
request.setUrl(Url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QByteArray data;
data.append("{\"cmd\" : \"enable\"}");
QNetworkReply* reply = accessManager->post(request, data);
qDebug() << reply->errorString();
qDebug() << reply->error();
reply выдаёт
"Unknown error"
QNetworkReply::NetworkError(NoError)
Данный пример построит по примеру сотни из интернета. И там это работает. Но у меня что-то не работает.
Единственное отличие - это порт 7778, там шлют без указания портов.
Я написал тестовый сервер на Python:
Python
import socket
sock = socket.socket()
sock.bind(('', 7778))
sock.listen(1)
conn, addr = sock.accept()
print conn, addr
while True:
data = conn.recv(1024)
if not data:
break
print data
Он точно принимает соединения и выводит посылки, пробовал с другими терминалами.
С данным кодом он не показывает соединения. Явно где то накосячил.
В Qt с сетью работаю в первый раз, так что прошу извинить за глупые вопросы.
Заранее спасибо большое всем за помощь.
Я даже пытаюсь уже кому нибудь отправить запрос на первый попавшийся сайт и поймать в Wireshark хоть какой нибудь обмен.
Запрос конечно не дойдет, но во всяком случае должны быть обращения к DNS, фигурирование названия сайта