Qt开发——TCP协议下的socket通信
2015-10-02 21:22
417 查看
用qt写socket通信是在是太方便了。我偷懒把client和server写在一个qt控制台程序里了:
pro文件:
server.h:
main.cpp:
运行结果如下:
pro文件:
#------------------------------------------------- # # Project created by QtCreator 2015-10-02T18:16:54 # #------------------------------------------------- QT += core network QT -= gui TARGET = tcp CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp HEADERS += server.h
server.h:
#ifndef SERVER_H #define SERVER_H #endif // SERVER_H #include <QObject> #include <QTcpServer> #include <QTcpSocket> class Server: public QObject { Q_OBJECT private: QTcpServer *server; QTcpSocket *socket; public: Server(); ~Server(); public slots: void getSocket(); void print(); };
main.cpp:
#include <QCoreApplication> #include <server.h> Server::Server() { server = new QTcpServer(); server->listen(QHostAddress::Any, 12345); QObject::connect(server, SIGNAL(newConnection()), this, SLOT(getSocket())); } void Server::getSocket() { socket = server->nextPendingConnection(); QObject::connect(socket, SIGNAL(readyRead()), this, SLOT(print())); } void Server::print() { QByteArray content= socket->readAll(); qDebug() << "This is message transmitted with Tcp:"; qDebug() << content; qDebug() << "end."; } Server::~Server() { delete server; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Server x; QTcpSocket client; client.connectToHost("127.0.0.1", 12345); client.write("haha"); return a.exec(); }
运行结果如下:
相关文章推荐
- TCP/IP详解卷1 读书笔记:第七章 Ping程序
- http://www.linuxidc.com/Linux/2007-09/7399.htm
- Http文件传输
- 网络编程
- http协议与内容压缩
- HttpClient实现网络访问详解1
- Hiho 1232 北京网络赛 F Couple Trees
- http://www.aboutyun.com/blog-61-62.html
- Hdu 5489 合肥网络赛 1009 Removed Interval
- Hdu 5493 合肥网络赛 1010 Queue
- Hiho coder 1236 2015 北京网络赛 Score
- Coursera_Stanford_ML_ex3_多标度分类和神经网络初步 作业记录
- http://www.cnblogs.com/amboyna/archive/2008/03/08/1096024.html
- deeplearning系列(二)自编码神经网络
- Ajax获取XmlHttpRequest对象的方法,兼容IE、火狐。用来与服务器进行通信。
- 《深入理解Linux网络技术内幕》阅读笔记(十)
- Java HTTP协议问题集锦
- 浏览器缓存浅析(二)
- 浏览器缓存浅析(一)
- 每个线程都有自己的信号屏蔽字,但是信号的处理时进程中所有线程共享的http://bbs.csdn.net/topics/350222437