Qt Creator (7)————Socket通信

目录

Qt中提供的所有的Socket类都是非阻塞的。常用的用于socket通信的套接字类如下:

QTcpServer:用于TCP/IP通信,作为服务器端套接字使用

QTcpSocket:用于TCP/IP通信,作为客户端套接字使用

QUdpSocket:用于UDP通信,服务器,客户端均使用此套接字


  • TCP/IP:

                                                                                      Linux下的TCP通信过程

 

                                                                                       Qt下的TCP通信过程

 

 

服务器端

private:
    Ui::ServerWidget *ui;

    QTcpServer *tcpServer;     //监听套接字
    QTcpSocket *tcpSocket;     //通信套接字


ServerWidget::ServerWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ServerWidget)
{
    ui->setupUi(this);

    tcpServer=NULL;
    tcpSocket=NULL;

    //监听套接字,指定父对象,让其自动回收空间
    tcpServer = new QTcpServer(this);
    tcpServer->listen(QHostAddress::Any,8888);
    setWindowTitle("服务器:8888");
    connect(tcpServer,&QTcpServer::newConnection,
            [=]()
            {
                //取出建立好连接的套接字
                tcpSocket = tcpServer->nextPendingConnection();

                //获取对方的IP和端口
                QString ip=tcpSocket->peerAddress().toString();
                qint16 port=tcpSocket->peerPor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值