Qt网络编程--HTTP服务器(一)
来源:互联网 发布:中国城市化率数据 编辑:程序博客网 时间:2024/05/17 07:25
QTcpSocket
- 方法
- connectToHost :连接某一个主机
- close
- write :发送数据
- readAll、read :读取服务端返回来的数据
- bytesAvailable:返回缓存了多少数据,我在socket上可以读取多少数据
- 信号
- connected :socket连接到远程主机会接收到这个信号
- bytesWritten
- readyRead :服务端有数据发送过来,可以读取了
- error
一般步骤
- connectToHost:连接服务器
- 响应connected信号,write数据
- 响应readyRead,read数据
- 处理错误
例子
tcp.pro
#-------------------------------------------------## Project created by QtCreator 2017-08-26T10:57:20##-------------------------------------------------QT += core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = tcpTEMPLATE = appSOURCES += main.cpp\ client.cppHEADERS += client.h
client.h
#ifndef CLIENT_H#define CLIENT_H#include <QTcpSocket>#include <QMainWindow>class Client : public QMainWindow{ Q_OBJECT //为了使用信号与槽,需要写这个宏public: Client(QWidget *parent = 0); ~Client(); void startConnect(QString host, quint16 port); // 定义一个外部接口,用于连接外部主机protected slots: void onConnected(); // 连接服务器 void onReadyRead(); // 读取数据private: QTcpSocket *m_socket;};#endif // CLIENT_H
client.cpp
#include "client.h"#include <QDebug>Client::Client(QWidget *parent) : QMainWindow(parent){}Client::~Client(){}// 实现外部接口的功能用于连接外部主机void Client::startConnect(QString host, quint16 port){ m_socket = new QTcpSocket(this); // 连接信号与槽 connect(m_socket, SIGNAL(connected()), this, SLOT(onConnected())); connect(m_socket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); // 连接远程主机 m_socket->connectToHost(host, port);}// 实现连接服务器void Client::onConnected(){ m_socket->write("GET / HTTP/1.1\r\n\r\n"); // 发送一个Http头部}// 读取服务器返回的数据void Client::onReadyRead(){ qDebug() << m_socket->readAll();}
main.cpp
#include "client.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); Client w; w.startConnect("www.baidu.com", 80); // 调用外部接口 return a.exec();}
阅读全文
0 0
- Qt网络编程--HTTP服务器(一)
- Qt网络编程--HTTP服务器(二)
- Qt网络编程--HTTP服务器(四)
- Qt网络编程--HTTP服务器(五)
- Qt网络编程--HTTP服务器(三))
- QT网络编程-http
- Qt网络(二)HTTP编程
- Qt网络(二)HTTP编程
- Qt网络(二)HTTP编程
- Qt网络之HTTP编程
- Qt网络编程-http操作
- Qt网络编程之一http
- Qt网络之HTTP编程
- QT分析之网络编程(一)
- QT分析之网络编程(一)
- QT分析之网络编程(一)
- Qt之网络编程(一)
- Android之Http网络编程(一)
- 2-Mysql 管理
- 【STL】容器 > 顺序容器 > vector
- 最适合人工智能开发的5种编程语言
- Java集合-07之 Stack
- 安卓BLE接收不到数据,设置描述失败的解决办法
- Qt网络编程--HTTP服务器(一)
- Unity14--物理系统--刚体、触发器、Force和Toque扭矩、恒力
- java 资料 各版本的API(中文版,英文版)
- 深入理解子查询
- 全志H3-NanoPi开发板SDK之二准备编译环境
- [NOIP模拟]Modern Art2
- 网易2018内推笔试题_操作序列_C++
- Spring集成redis【脱离Spring版本的】
- subl+zeal