QT编程系列9--服务器端的网络编程

服务器端的网络编程

    网络编程首先要确定的是所使用的协议,如面向连接的TCP协议,还有UDP协议。如果我们选用TCP协议,那么程序一般可分为服务器端的程序和客服端的程序。首先我们来谈谈服务器端的网络编程。在编程这类程序时,我们要用到两个新的类,一个是QTcpServer类,另一个则是QTcpSocket类。这两个类一个用于实例化一个服务器对象,一个用于实现一个套接字对象。关于这两个类的详细使用方法可以查阅帮助文档,本程序由于只是验证性质而非商用程序,比较简单,因此只要到类里面的少数方法。接收数据时由readyRead方法触发,然后自己实现的槽函数接收数据。发送数据则有QTcpSocket类里的一个write方法去发送数据。

    mywindow.h文件的代码如下:

 

    mywindow.cpp文件的代码如下:

 

    在构造函数中,我们首先创造出一个server对象,然后这个server对象调用listen方法进入到侦听状态。当有新的连接过来时,会触发一个newConnection信号。由于newConnection信号与mynewconnect槽函数进行了绑定,因此,该信号产生后会触发mynewconnect函数的执行。在mynewconnect这个函数中,我们首先通过弹出一个窗口提示一下连接成功,然后定时每隔1S往客户端发送hello world这11个字符。

    该程序在编译的过程中可能会出现一个错误,该错误的出现是因为我们QT默认安装时并没有加载网络的库,因此我们需要在.pro那个文件中的最后一行加上一句:

    QT += network

By:霜月孤鸟

2014.8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值