本文原创,转载注明出处
1、新建控制台程序;
2、首先添加网络模块,在pro文件中添加:
QT += network
3、添加一个Tcp服务器端的类:
头文件:
#define MYSERVER_H
#include <QObject>
#include <QTcpServer>
#include <QTcpSocket>
#include <QDebug>
class Myserver : public QObject
{
Q_OBJECT
public:
explicit Myserver(QObject *parent = 0);
signals:
public slots:
void newConnectiong();
private:
QTcpServer *server;
};
#endif // MYSERVER_H
源文件:
#include "myserver.h"
Myserver::Myserver(QObject *parent) :
QObject(parent)
{
server =new QTcpServer(this);
connect(server, SIGNAL(newConnection()), this, SLOT(newConnectiong()));//有新连接,会调用newConnectiong处理新的链接
if((!server->listen(QHostAddress::Any, 1234)))//监听
{
qDebug()<<"server could not start";
}
else
{
qDebug()<<"server started";
}
}
void Myserver::newConnectiong()//处理新连接的方法
{
QTcpSocket *socket = server->nextPendingConnection();//建立新的链接
socket->write("hello client/r/n");//写入消息发到客户端
socket->flush();
socket->waitForBytesWritten(3000);//等待写结束
socket->close();//关闭新建立的链接
}
4、main函数中生成一个服务器端的实例:
Myserver server;
5、运行程序:出现"server started"
此时服务器已经处于启动监听状态,监听的端口是1234
6、开启windows 的telnet客户端功能(开启的方法很多,可搜索),然后启动命令行窗口,输入"telnet" ;接着再输入"open 127.0.0.1 1234" 我们就可以看到服务器端给我们的回复了。回复完毕后,服务器端会关闭新建立的链接。