基于TCP协议的简单聊天室QT实现
首先分析:
搭建一个客户端来连通过SOCKET接服务端,经过三次握手连接上服务端后建立稳定的连接链路,然后进行收发数据,相互之间进行通信。
首先需要一个客户端,仿照QQ设计如下:两个按钮一个可以发送输入框的数据至服务端,并且显示在自己的接收栏,另一个按钮可以推出界面。并且实时显示来自服务端的信息,显示在接收界面。
还需要一个服务端,界面暂定一样,颜色区分:两个按钮一个可以发送输入框的数据至所连接上的客户端,并且显示在自己的接收栏,另一个按钮可以推出界面。并且实时显示来自客户端的信息,显示在接收界面。
![](https://i-blog.csdnimg.cn/blog_migrate/1cff50635b540753b54dfa8beb7db0bd.png)
客户端的主要实现:
构造函数:
ui->setupUi(this);
_socket= new QTcpSocket;//_socket指向一个实例化的QTcpSocket结构体指针
_socket->connectToHost("127.0.0.1",8888);//要连接的IP地址于端口号
connect(_socket,SIGNAL(readyRead()),this,SLOT(recv_info()));//监听数据
connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(on_pushButton_2_clicked));//监听按键状态
void Widget::beijing()//改变textBrowserd的背景颜色
{
QPal