pro 文件里要加一句: QT += network
服务器端:
1、 声明 QTcpServer、 QTcpSocket
QTcpServer *tcpServer; //监听套接字
QTcpSocket *tcpSocket; //通信套接字
2、 定义、 实例化
tcpServer = NULL;
tcpSocket = NULL;
tcpServer = new QTcpServer(this);
tcpServer->listen(QHostAddress::Any,8888);//监听所有
connect(tcpServer,SIGNAL(newConnection()),this,SLOT(getSocket()));
socket_list = new QList<QTcpSocket*>;//zy 服务器一对多客户端用到
3、 作为服务器通过 TCP 协议接收数据
void MainWidget::getSocket()
{
tcpSocket = tcpServer->nextPendingConnection();//获取已经建立的连接
的子套接字
socket_list->append(tcpSocket);//添加到 socket_list 中
QString ip = tcpSocket->peerAddress().toString();//此处是通过通信
的套接字进行获取,也可以获取对方的 IPv6 和 IPv4,但是此处转换为 QString
型
qint16 port = tcpSocket->peerPort();//直接获取端口,不