QTcpSocket、QTcpServer进行TCP编程、QT网络编程入门及 使用QT发送图片、文本的Demo

基本思路

在数据传输之前,必须建立一个到远程主机和端口的TCP连接。一旦该连接建立了,那么IP地址和端口号都可以通过QTcpSocket::peerAddress() 和 QTcpSocket::peerPort()获取。任何时候都可以关闭连接,并且数据传输也会立即停止。

QTcpSocket依赖于事件循环检测到来的数据,并且自动刷新即将发出去的数据。你可以通过QTcpSocket::write()将数据写入到套接字中,并且通过QTcpSocket::read()读取数据。QTcpSocket代表了两个独立的数据流:一个是读数据流,另一个是写数据流。

由于QTcpSocket继承自QIODevice,你可以将它与QTextStream和QDataStream一起使用,当从一QTcpSocket中读取数据时,你必须通过调用QTcpSocket::bytesAvailable()确保有足够的数据可读。

如果你需要处理进入的TCP连接(例如,在一个服务器程序中),那么就使用QTcpServer类。通过调用QTcpServer::listen()来建立服务器,并且连接到QTcpServer::newConnection()信号,该信号在每一个客户端连接后发送。在你自己的槽函数中,使用QTcpServer::nextPendingConnection()来接受该连接请求,并且返回QTcpSocket和客户端通信。

基本操作(过程)

1.连接服务器

QTcpSocket *m_tcpSocket= new QTcpSocket(this);
m_tcpSocket->connectToHost("127.0.0.1", 9877);//参数分别为地址和端口

//只有使用waitForConnec
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值