简介
通过TCP使PC和android手机相互通讯。
准备
使用QT的网络模块
QT       += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
.h
定义TCP接口
#include <QTcpSocket>
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
	void socket_ReadData();
	void socket_Disconnected();
private:
    Ui::MainWindow *ui;
    QTcpSocket *socket;
};
 
.cpp
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    socket = new QTcpSocket();
    //连接信号槽
    QObject::connect(socket, &QTcpSocket::readyRead, this, &MainWindow::socket_Read_Data);
    QObject::connect(socket, &QTcpSocket::disconnected, this, &MainWindow::socket_Disconnected);
}
void tcpDemo(bool isConnect, QString IP,int port)
{
    //获取IP地址: IP
    //获取端口号: port
	if(isConnect)
	{
    //取消已有的连接
    socket->abort();
    //连接服务器
    socket->connectToHost(IP, port);
    //等待连接成功
    if(!socket->waitForConnected(30000))
    {
        qDebug() << "Connection failed!";
        return;
    }
    qDebug() << "Connect successfully!";)
    }
    else
    {
        //断开连接
        socket->disconnectFromHost();
	}
}
 
发送TCP数据
void Send_data(QString data)
{
     //获取文本框内容并以ASCII码形式发送
    socket->write(data).toLatin1());
    socket->flush();
}
 
读取TCP数据
void MainWindow::socket_ReadData()
{
    QByteArray buffer;
    //读取缓冲区数据
    buffer = socket->readAll();
    if(!buffer.isEmpty())
    {
    	//读取TCP数据
        QString str = ui->textEdit_Recv->toPlainText();
        str+=tr(buffer);
        
        //str数据处理
       		 //。。。
    }
}
void MainWindow::socket_Disconnected()
{
    qDebug() << "Disconnected!";
}
 
效果大致如下
和IP为192.168.1.101 端口为8765的PC服务端进行通讯。
 



















