设为首页 加入收藏

TOP

1.1QT网络通信
2023-09-09 10:25:46 】 浏览:102
Tags:1.1QT 通信

QT进行TCP网络通信:

  1. TCP是C/S模式的需要建立连接的网络通信架构,建立连接需要进行三次握手,断开连接需要四次握手。
  2. 服务器模式:需要先创建监听套接字,通过bind函数进行ip和端口绑定,通过listen函数监听客户端的连接请求,通过accept函数处理客户端的连接请求并返回通信套接字进行通信。
  3. 客户端模式:相较服务器简单,只需创建通信套接字,然后通过connect函数和服务器进行连接,然后即可进行通信。
  4. 在QT内通过QT的一些函数将TCP通信进行封装,首先,要用到通信,QT必须先引入network模块;
  • 在服务器通过创建对象创建QTcpServer套接字,然后通过listen函数进行IP和端口绑定和监听客户端的连接请求(将TCP的bind和listen合在一起),客户端连接成功,信号newConnection会触发,通过对应的槽函数就可以进行通信。
  • 在客户端通过QTcpSocket创建通信套接字对象,然后通过connectToHost和服务器进行连接,然后就可以通过read,write函数进行通信。

服务器:

MyServer=new QTcpServer(this);
MyServer->listen(QHostAddress::Any,port);
connect(MyServer,&QTcpServer::newConnection,this,&Server::MySocket);
void Server::MySocket(){
     socket=MyServer->nextPendingConnection();  //函数返回通信套接字
     //ui->label->setText("ip:"+socket->peerAddress().toString());
     //connect(socket,&QTcpSocket::readAll,this,&Server::MyRead);
}

客户端:

socket=new QTcpSocket(this);
socket->connectToHost(ip,port);

img

img

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇《CUDA编程:基础与实践》读书笔.. 下一篇《CUDA编程:基础与实践》读书笔..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目