第10章 Qt 5网络与通信.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 Qt 5网络与通信

10.3.3 【实例】:TCP服务器编程 (3)服务器端的界面运行外观如图10.11所示。 10.3.3 【实例】:TCP服务器编程 以上完成了服务器的界面设计,下面将详细完成聊天室的服务器端功能。 (1)在工程文件“TcpS”中添加如下语句: QT += network (2)在工程“TcpS”中添加C++类文件“tcpclientsocket.h”及“tcpclientsocket.cpp”,TcpClientSocket继承自QTcpSocket,创建一个TCP套接字,以便在服务器端实现与客户端程序的通信。 头文件“tcpclientsocket.h”的具体代码如下: #include QTcpSocket #include QObject class TcpClientSocket : public QTcpSocket { Q_OBJECT //添加宏(Q_OBJECT)是为了实现信号与槽的通信 public: TcpClientSocket(QObject *parent=0); signals: void updateClients(QString,int); void disconnected(int); protected slots: void dataReceived(); void slotDisconnected(); }; 10.3.3 【实例】:TCP服务器编程 (3)在源文件“tcpclientsocket.cpp”中,构造函数(TcpClientSocket)的内容如下(它指定了信号与槽的连接关系): #include tcpclientsocket.h TcpClientSocket::TcpClientSocket(QObject *parent) { connect(this,SIGNAL(readyRead()),this,SLOT(dataReceived())); //(a) connect(this,SIGNAL(disconnected()),this,SLOT(slotDisconnected())); //(b) } 10.3.3 【实例】:TCP服务器编程 在源文件“tcpclientsocket.cpp”中,dataReceived()函数的具体代码如下: void TcpClientSocket::dataReceived() { while(bytesAvailable()0) { int length = bytesAvailable(); char buf[1024]; read(buf,length); QString msg=buf; emit updateClients(msg,length); } } 在源文件“tcpclientsocket.cpp”中,槽函数slotDisconnected()的具体代码如下: void TcpClientSocket::slotDisconnected() { emit disconnected(this-socketDescriptor()); } 10.3.3 【实例】:TCP服务器编程 (4)在工程“TcpS”中添加C++类文件“server.h”及“server.cpp”,Server继承自QTcpServer,实现一个TCP协议的服务器。利用QTcpServer,开发者可以监听到指定端口的TCP连接。其具体代码如下: #include QTcpServer #include QObject #include tcpclientsocket.h//包含TCP的套接字 class Server : public QTcpServer { Q_OBJECT //添加宏(Q_OBJECT)是为了实现信号与槽的通信 public: Server(QObject *parent=0,int port=0); QListTcpClientSocket* tcpClientSocketList; signals: void updateServer(QString,int); public slots: void updateClients(QString,int); void slotDisconnected(int); protected: void incomingConnectio

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档