Qt中echo服务器的简单编写
运行截图如下:
cmd远程登录端口号为7
登录后,输入数据,服务器进行回显
Qt服务器:
代码如下:
echoserver.h
#ifndef ECHOSERVER_H
#define ECHOSERVER_H#include <QObject>
#include <QTcpServer>class EchoServer : public QTcpServer
{Q_OBJECT
public:explicit EchoServer(QObject *parent = 0);~EchoServer();signals:public slots:protected slots:void onNewConnection();void onReadyRead();private:void echo(QTcpSocket *sock);
};#endif // ECHOSERVER_H
echoserver.cpp
#include "echoserver.h"#include <QTcpSocket>EchoServer::EchoServer(QObject *parent) : QTcpServer(parent)
{connect(this,SIGNAL(newConnection()),this,SLOT(onNewConnection()));
}EchoServer::~EchoServer()
{}void EchoServer::onNewConnection()
{while(hasPendingConnections()){QTcpSocket *socket=nextPendingConnection();connect(socket,SIGNAL(readyRead()),this,SLOT(onReadyRead()));connect(socket,SIGNAL(disconnected()),socket,SLOT(deleteLater()));if(socket->bytesAvailable()>0){echo(socket);}}
}void EchoServer::onReadyRead()
{QTcpSocket *sock=qobject_cast<QTcpSocket*>(sender());//取得当前获取数据的socket对象,这个sender就是获取发射信号的对象echo(sock);
}void EchoServer::echo(QTcpSocket *sock)
{QByteArray inData=sock->readAll();qDebug()<<inData;sock->write(inData);sock->flush();
}
main.cpp
#include <QApplication>
#include "echoserver.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);EchoServer server;server.listen(QHostAddress::Any,7);return a.exec();
}
Qt中echo服务器的简单编写相关推荐
- Qt中Tcp通信的简单使用二
tcp编程中写的一个简单的单项传输数据的小例子,和上一节一样,分为客户端和服务端程序,下面看一下界面的效果. 创建的方法和之前一样,上面上代码: 客户端 Client.h #ifndef CLIENT ...
- 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...
- Qt中UDP通信的简单示例
udp通信分为发送端和接收端,通信步骤可以分为以下: 接收端: 创建QUdpSocket对象.在.h文件中添加类的前置声明,定义该类的指针,在.cpp的构造函数中定义指向该类的指针. bind().绑 ...
- [Qt教程] 第29篇 XML(三)Qt中的SAX
[Qt教程] 第29篇 XML(三)Qt中的SAX 楼主 发表于 2013-5-21 22:27:59 | 查看: 615| 回复: 5 Qt中的SAX 版权声明 该文章原创于Qter开源社区(ww ...
- Java的echo_简单的Java echo服务器问题
我正在尝试编写我的第一个套接字服务器,所以我决定从一个非常简单的事情开始,只是为了计算流程:)我正在编写一个简单的 java echo服务器,但问题是(出于某种原因?! )我没有在客户端获得服务器响应 ...
- 【slighttpd】基于lighttpd架构的Server项目实战(4)—简单的echo服务器
转载地址:https://blog.csdn.net/jiange_zh/article/details/50636536 在这一部分,我们将对上一篇中的master-worker进行拓展,成为一个简 ...
- QT 中Socket客户端与服务器异常断开后重连
在现在的项目开发中,经常要使用TCP/IP协议来进行通讯,但有时候与服务器端的链接由于网络问题导致连接异常或断开,这就需要我们的软件能自动重连,在Linux中,我们的思维一般是通过心跳包来监控连接是否 ...
- 简单说说对QT中moveToThread实现多线程操作的理解
在平时的编码过程中经常碰到QT的多线程问题,也大量接触了QT中的两种主流多线程写法,一种是继承QThread类并重载run函数,在run函数中写一个状态机或者计时器来实现对线程运作:一种是通过mo ...
- 介绍 Echoo: go 语言编写的 echo 服务器
原文地址 简介 最近由于要配置 nginx 服务器,里面有个代理转发(proxy_pass)的功能,能够将当前服务器接收到的请求转发给其他服务器来处理. 但是在配置当中,我发现我无法确认我的 prox ...
最新文章
- IIS7入门之旅:(3)CGI application和FastCGI application的区别
- Nginx源码安装及应用
- Django ORM的F Q和extra操作
- Eclipse Memory Analyzer以及内存泄露的原因
- 【Tools】Bandicam录屏软件概述
- idea下的application.properties下写汉字乱码问题
- 鸿蒙系统大疆,华为操作系统“鸿蒙OS”来了!
- 阿里与珠海横琴新区达成战略合作,阿里云助力打造横琴智能岛
- Intel彻底封杀Skylake非黑盒版超频
- 面试百题066——颠倒栈
- 【OCR一】字符识别技术总览(转)
- Mindomo Desktop for mac(思维导图软件)中文版
- 事务 锁 悲观锁 乐观锁 概念 应用场景 使用方式 小记
- java开发简历模板下载,技术详细介绍
- 西电网络攻防大赛--渗透测试第一题
- 最新腾讯防水墙滑块验证码破解,代码可以直接运行
- 阿里云服务器硬盘不够用怎么办?
- 人脸识别在线上金融业务中的应用风险
- 前端(JQuery):使用magnify插件实现图片预览
- Java 读取Word文本框中的文本、图片、表格