QTcpServer提供了newConnection信号, 可以通过connect实现连接槽函数,利用nextPendingConnection

函数获取连接的QTcpSocket * ;也可以继承QTcpServer派生, 复写虚函数incomingConnection(在连接上时,

会自动触发该函数,传参handle);

 virtual void incomingConnection(qintptr handle);

通过setSocketDescriptor 函数建立QTcpSocket;

virtual bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState,OpenMode openMode = ReadWrite);

QTcpSocket *pSock = new QTcpSocket;
if( ! pSock->setSocketDescriptor(handle) )
{...
}

QTcpSocket有几个继承于 QAbstractSocket, 而QAbstractSocket又继承于QIODevice, 可以看出QtcpSocket可以类似

IO接口一样的进行操作;

virtual void connectToHost(const QString &hostName, quint16 port, OpenMode mode = ReadWrite, NetworkLayerProtocol protocol = AnyIPProtocol);
virtual void connectToHost(const QHostAddress &address, quint16 port, OpenMode mode = ReadWrite);

通过connectToHost函数可以连接服务端, 在连接服务端时,将发送信号:

void connected();
void disconnected();
void stateChanged(QAbstractSocket::SocketState);

当socket缓冲区内有数据时,将触发readyRead信号, 利用 bytesAvailable函数可以获取缓冲区内的数据长度, read(length)读取指定长度的数据;

转载于:https://www.cnblogs.com/yinwei-space/p/10774328.html

QTcpSever和QTcpSocket实现多线程客户端和服务端;相关推荐

  1. 基于多线程的TCP局域网通信,客户端向服务端上传 文件简单实现源码

    客户端 import java.io.*; import java.net.Socket;/*** ### 作业3:* 完成文件上传案例学习* - 案例需求* 客户端:数据来自于本地文件,接收服务器反 ...

  2. QTcpSocket客户端和服务端发送图片(或大文件)小Demo

    先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...

  3. Java中Socket实现客户端和服务端通信(多线程实现全双工通信)

    效果图 目录结构 服务端Server package server;import thread.SocketReader; import thread.SocketWrite;import java. ...

  4. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信

    操作界面如下: 1.声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议 Socket socket = new Socket(AddressFamily.Inte ...

  5. 带线程池的socket客户端与服务端

    前言 socket(套接字),Socket和ServerSocket位于java.net包中,之前虽然对socket有过一些了解,但一直都是云里雾里的,特意仔细的学习了一个socket,用socket ...

  6. QT -- TcpSocket实例,使用Qt中的tcp通信协议,构建客户端和服务端,实现局域网通信软件功能

    Qt中使用Tcp构建通信客户端实现聊天信息发送连接等 1.简介 2.项目创建和界面构建 1)流程图 2)项目构建 3)界面构建 3.代码设计 1)项目pro添加 2)客户端设计 a. clientwi ...

  7. Part6:客户端和服务端信息交互模型

    一.客户端和服务端信息交互模型 1.[问题]:什么是客户端和服务端? 客户端:可以向服务器发请求,并接收返回的内容进行处理 服务器端:能够接收客户端请求,并且把相关资源信息返回给客户端的 2.[面试题 ...

  8. C# TCP/IP客户端与服务端数据与文件的传输

    用C#写的 一个简单的TCP通信,主要的功能有: (1) 多个客户端与服务器间的数据交流 (2)可以实现群发的功能 (3)客户端与服务端可以进行文件的传输 主要用到的知识: TCP里的 socket ...

  9. 客户端和服务端通信原理

    客户端和服务端 客户端:可以向服务端发起请求的,并且接受返回的内容的进行处理 服务器端:能够接受客户端的请求,并且把相关资源信息返回给客户端的 web 服务站点 详细 url 地址解析 DNS 服务器 ...

最新文章

  1. mysql des_mysql中DES加密解密
  2. WinPcap笔记(8):分析数据包(2)
  3. 工作10年厌倦写代码_厌倦了数据质量讨论?
  4. 代码提交本地代码和远程代码不同步问题(笔记)
  5. Python实现立方体纹理映射
  6. 【DP】LeetCode 120. Triangle
  7. vue项目打包部署到Tomcat上,一刷新就报错404
  8. [Linux] ubuntu 安装 Wireshark
  9. wincc控件之FlexGrid系列(注册安装)
  10. ISO_7637-1/2/3/4/5标准各部分修订状态汇总(Road vehicles-Electrical disturbances from conduction and coupling)
  11. 使用c++filt命令还原C++编译后的函数名
  12. CnOpenData工商注册企业数量统计数据:省份-年度-企业数量信息表
  13. Ultrasound Open Platforms for Next-Generation Imaging Technique Development
  14. play框架使用起来(16)
  15. win7下32位eclipse启动错误
  16. 第十三周 任务三
  17. 阿里云视频点播微服务
  18. yolov5踩过的初坑(关于detect代码可以调用gpu而训练代码无法调用gpu的问题)
  19. Vue2 Vue UI组件库
  20. JAVA编程实战之编写小游戏-大球吃小球(eat ball game)

热门文章

  1. oppo手机计算机,OPPO手机助手
  2. 格式要求_课题论文的格式要求
  3. controller属于哪一层_五种皮肤类型,那你属于哪一种,你知道吗?
  4. weblogic 文件打开数_Weblogic任意文件读取和任意文件上传
  5. java文件下载代码_Java代码实现文件下载
  6. linux实现访问自动挂载
  7. 用 lastIndexOf()、substr()、split()方法截取一段字符串
  8. 9、MySQL逻辑架构介绍
  9. 【微信开发】-- 发送模板消息
  10. 算法笔记_072:N皇后问题(Java)