QT网络编程

来源:互联网 发布:linux session问题 编辑:程序博客网 时间:2024/06/03 04:05
在工程文件中pro文件中,添加QT += network
服务器
QTcpServer  ---创建套接字, 绑定, 监听,接收连接
1.创建QTcpServer对象
QTcpServer *server = new QTcpServer();
2.监听 
server->listen("地址",端口号);

QTcpSocktet ---发送,接收数据
3.当有客户端连接的时候,QTcpServer对象会发送newConnection信号,接收
connect(server, SIGNAL(newConnection()),this, SLOT(accept_client()));
4.创建QTcpSocket对象
在accept函数中通过server对象来创建QTcpSocket对象  nextPendingConnection()创建对象



客户端
QTcpSocket对象,连接服务器
QTcpSocktet *socket = new QTcpSocket()
connectToHost("服务地址",端口号);

当QTcpSocket对象有数据到达的时候会发生readyRead信号
connect(socket,SIGNAL(readyRead()),this, SLOT(read_data()))
在read_data函数中读取数据
socket->readAll();



http://wthrcdn.etouch.cn/weather_mini?city=广州
JSON ---对象--大括号表示一个对象, 对象中的成员是键值对数据(key-value)
数组--中括号括起来的一组数据(数组每一项数据是同类型)
value可以是对象, 可以是普通数据(字符串,整形数,数组)

{
    "data": {
        "wendu": "26",
        "ganmao": "风较大,阴冷潮湿,较易发生感冒,体质较弱的朋友请注意适当防护。",
        "forecast": [
            {
                "fengxiang": "南风",
                "fengli": "3-4级",
                "high": "高温 27℃",
                "type": "暴雨",
                "low": "低温 23℃",
                "date": "15日星期一"
            },
            {
                "fengxiang": "北风",
                "fengli": "3-4级",
                "high": "高温 29℃",
                "type": "多云",
                "low": "低温 23℃",
                "date": "16日星期二"
            },
            {
                "fengxiang": "无持续风向",
                "fengli": "微风级",
                "high": "高温 30℃",
                "type": "多云",
                "low": "低温 24℃",
                "date": "17日星期三"
            },
            {
                "fengxiang": "无持续风向",
                "fengli": "微风级",
                "high": "高温 29℃",
                "type": "多云",
                "low": "低温 25℃",
                "date": "18日星期四"
            },
            {
                "fengxiang": "无持续风向",
                "fengli": "微风级",
                "high": "高温 29℃",
                "type": "多云",
                "low": "低温 23℃",
                "date": "19日星期五"
            }
        ],
        "yesterday": {
            "fl": "微风",
            "fx": "无持续风向",
            "high": "高温 29℃",
            "type": "多云",
            "low": "低温 23℃",
            "date": "14日星期日"
        },
        "city": "广州"
    }
}
原创粉丝点击